我是Laravel的初学者。 我有以下代码:
bool
此功能将文件上传到20
。
我需要将其存储在if ($request->hasfile('profilePhoto')) {
$this->validate($request, [
'profilePhoto' => 'required',
'profilePhoto.*' => 'mimetypes:image/jpg'
]);
$image = $request->file('profilePhoto');
$extension = strtolower($image->getClientOriginalExtension());
$path = 'upload/images/UserImage/';
$uniqueName = md5($image . time());
$image->move(public_path($path), $uniqueName . '.' . $extension);
}
中
如何重写代码?
答案 0 :(得分:0)
您必须使用storage_path
功能(“ storage / app / upload”文件夹必须存在):
$image->move(storage_path("app/upload"), $uniqueName . '.' . $extension);
答案 1 :(得分:0)
Release
答案 2 :(得分:0)
Laravel中上传到storage/app
的一种常见方法是通过本地磁盘驱动程序。
$file = $path . $uniqueName . '.' . $extension;
\Storage::disk('local')->put($file, $request->file('profilePhoto'));
Storage::disk('local')
指向storage/app/
。
答案 3 :(得分:0)
由于您的$ path变量已经像这样$path = 'upload/images/UserImage/'
声明了,因此可以将数据存储到public_path
,而不是存储到storage_path()
。
$image->move(storage_path($path), $uniqueName . '.' . $extension);