我希望能够从我的控制器中的存储中检索文件。
public function getFile($fileID) {
$file = CommUploads::where('id', $fileID)->first();
if (Auth::user()->id == $file->user_id || Auth::user()->id == $file->artist_id) {
$fileGet = Storage::get($file->file_path);
return $fileGet;
}
}
现在,我能够正确地获得路径,然而,所有出现的都是胡言乱语,好像你正在查看没有扩展名的图像。
理想情况下,我希望将此作为"另存为"那类的东西。
我该怎么做?
答案 0 :(得分:3)
您应该使用file download response。
public function getFile($fileID) {
$file = CommUploads::where('id', $fileID)->first();
if (Auth::user()->id == $file->user_id || Auth::user()->id == $file->artist_id) {
return response()->download(storage_path('app/' . $file->file_path));
}
}
返回一个字符串是不好的做法。使用Laravel responses时,Laravel会确保正确设置标头和其他要求,以便将响应返回给浏览器。