【发布时间】:2018-02-11 12:32:16
【问题描述】:
我需要在我的 Laravel 电子商务应用中上传一个文件并将其存储在相应用户的文件夹中。我的代码如下所示:
if ($request->hasFile('attach')) {
try {
$file = $request->file('attach');
$filename = $file->getClientOriginalName();
Storage::disk('local')->put($filename, File::get($file));
Storage::move('app/'.$filename, 'app/public/uploads/'.$user_id.'/attach/'.$filename);
我在config/filesystems.php:
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
但上传文件时出错:
(1/1) FileNotFoundException:在路径中找不到文件:app/Test1.docx
如何在自定义位置(例如用户文件夹)中存储/保存文件?存储上传文件的自定义位置如下所示:
'app/public/uploads/'.$user_id.'/attach/'
【问题讨论】:
-
只有
Storage::disk('local')->put('app/public/uploads/'.$user_id.'/attach/'.$filename, File::get($file));可以完成这项工作,您无需再次移动 -
或者如果你想保持你的代码不变,那么把它改成
Storage::disk('local')->put('app/'.$filename, File::get($file));