我有一个表单,可以在表单的不同部分接受多个图像(徽标,封面,缩略图)。我试图将这些内容上传到亚马逊s3。在我的控制器中:
public function store(Request $request){
Storage::disk('s3')->put(
$request->user()->id.'/thumbnail.png',
file_get_contents($request->file('thumbnail')),
'public'
);
Storage::disk('s3')->put(
$request->user()->id.'/cover.png',
file_get_contents($request->file('cover')),
'public'
);
Storage::disk('s3')->put(
$request->user()->id.'/logo.png',
file_get_contents($request->file('logo')),
'public'
);
}
我能够在localhost上传和获取此上传图片的网址但我得到" file_get_contents:文件名不能为空错误" 有关亚马逊的制作带LAMP的linux实例。我做错了什么?
答案 0 :(得分:3)
您应该检查文件是否已上传:
if ($request->hasFile('thumbnail'))
Storage::disk('s3')->put(
$request->user()->id.'/thumbnail.png',
file_get_contents($request->file('thumbnail')),
'public'
);
}