2014-06-09 40 views
0

我已将我的文件上载到名为App的内部文件夹。就像这样:试图Link_to_Asset(Laravel)找不到该文件(但它在那里)

$destinationPath = app_path().'/uploads/' . $company; 
$name = Input::file('fichero')->getClientOriginalName(); 
$file->move($destinationPath, $name); 

也就是说,树是这样:

- APP 
- - UPLOADS 
- - - COMPANY 1 
- - - - file1.txt 
- - - - file2.txt 
- - - - more files 

但是,当我尝试链接到他们(下载他们)是这样的:

<td>{{ link_to_asset('/uploads/' . $user->company. '/' . $user->filename, $user->filename) }}</td> 

错误我得到的是 在此服务器上找不到请求的URL/ocean。 + 404

的文件必须是只为那些登录访问,(这就是为什么他们不在公共文件夹),我登录。

任何暗示怎么样?

非常感谢

+0

如果它不是在你的公开目录,然后它,除非你建立某种形式的控制器将读取请求不是任何人都可访问文件,然后将其输出给授权用户。在这种情况下,请求应该发送给控制器而不是文件。 –

+0

非常感谢!这有助于很多。我有点像摩擦下巴那样的事情。我会给你正确的答案,关心你的回答并指向正确的方向。 –

回答

0

所以,凯末尔向我指出了正确的方向,这里是我如何解决它。 而不是link_to_asset我不得不用另一种功能,它是:

<td>{{ HTML::linkAction('[email protected]', $user->filename , array($user->filename)) }}</td> 

所以,我为了这个目的的另一种方法downloaddocs创建。

在那里我必须使用其他功能,这是具体的下载:

return Response::download($pathToFile); 
相关问题