【发布时间】:2020-04-07 01:50:39
【问题描述】:
我有一个 Laravel 视图,用户可以在其中上传多个文件。我的控制器获取这些文件并将它们放在 public/storage 的文件夹中。文件名是客户端的原始文件名,我试图让视图动态显示原始文件名(而不是临时路径),然后链接到该文件。我有以下代码:
<a class='col-6' href="/download/{{ $plansubmission->id }}/{{$plansubmission->current_plan_year_claims_data_file_1 }}">{{ $plansubmission->current_plan_year_claims_data_file_1 }}</a>
路线:
Route::get('/download/{folder}/{id}', 'DownloadsController@getDownload');
下载控制器:
class DownloadsController extends Controller
{
public function getDownload($folder, $id){
//PDF file is stored under project/public/download/info.pdf
$pathToFile=public_path(). "\storage\\$folder\\$id";
// return Response::download($file);
return response()->file($pathToFile);
}
}
我可以在 URL 中输入正确的路径,然后下载就可以了。但是视图中的链接没有链接到本地文件存储。
【问题讨论】:
-
在存储文件和保存记录时,需要在存储后获取新的文件名,而不是临时位置名
-
谢谢。我只是不太确定该怎么做。这是我保存文件的方式: Storage::disk('local')->putFileAs( $folder, $file, $file->getClientOriginalName() );
-
你在数据库中保存了什么?听起来您正在保存
$file,这将为您提供临时文件路径...编辑您的问题并提供该控制器方法
标签: laravel