我正在使用laravel 5.3,我想将文件上传到目录。我一直在关注上传文件的laravel文档,如下代码:
public function store(Request $request)
{
$path = $request->attachment->store('attachment');
}
但是收到错误
调用字符串
上的成员函数store()
之前在laravel 5.2上,我已经使用此代码上传文件及其工作
if ($request->hasFile('attachment')) {
$destination = 'upload/attachment';
$file = $request->file('attachment');
$file->move($destination, $file->getClientOriginalName());
}
$filelocation = $destination. "/" .$file->getClientOriginalName();
但在laravel 5.3中,它不起作用,我收到错误
未定义的变量:目的地
你可以帮助我的代码出错吗?
答案 0 :(得分:1)
public function store(Request $request)
{
$path = $request->attachment->store('attachment');
}
我不认为$request->attachment
能做你想做的事。将该行更改为:
$request->file('attachment')->store('/your/destination/path')
if($request->hasFile('attachment')){
$destination = 'upload/attachment';
$file = $request->file('attachment');
$file->move($destination, $file->getClientOriginalName());
}
$filelocation = $destination. "/" .$file->getClientOriginalName();
当$request->hasFile('attachment')
为false
时,$destination
将不会被声明。所以当它到达$filelocation
行时,你得到一个未定义的变量。
答案 1 :(得分:1)
在Larave 5.3中,你可以使用这样的简单上传文件:
$request->file('file')->storePublicly($folderSrc);
这会将您的文件保存到storage / app / public / you-folder-src