我使用本地存储来存储文件。我创建了一个文件表,其中存储了 title,path,card_id 行。
$request->file('file')->storeAs('public/upload',$files->getClientOriginalName());
即 passport.png 存储于 /home/dhruv/MyProject/storage/app/public/upload/passport.png
以上工作正常,但我在下载文件时遇到错误。 在控制器......
public function getDownload($file_id)
{
$file = File::find($file_id);
//print_r($file);
return response()->download($file->path);
/* return response()->download(
$file->path,
$file->name,
[],
'inline'//attachment
);*/
}
我尝试了很多下载方法,但是没有任何方法可以正常工作。 我收到了这个错误。
的Symfony \元器件\ HttpFoundation \文件\异常\ FileNotFoundException异常: 文件 " /home/dhruv/MyProject/storage/public/upload/passport.png" 在文件中不存在 /home/dhruv/MyProject/vendor/symfony/http-foundation/File/File.php on 第37行
我不知道为什么它会搜索 /home/dhruv/MyProject/vendor/symfony/http-foundation/File/File.php ,因为我已插入正确的路径。
建议任何下载方法..
答案 0 :(得分:0)
return response()->download(Storage::get($file->path));
之前导入:
use Illuminate\Support\Facades\Storage;
或试试这个:
return response()->download(storage_path($file->path));