我试图在这样的页面上建立下载链接:
<a href="uploads/testfolder/excelfile.xlsx" target="_blank">Download here</a>`
当我点击该链接时,它会显示如下图所示的页面,该页面也会在同一页面中查看。
应该在新窗口中下载,因为我放了target="_blank"
。但奇怪的是,当我尝试右键单击并在新窗口中打开时,它会自动提示我下载文件。
答案 0 :(得分:0)
您需要为要正确下载的文件返回标头响应。
创建路线:
Route::get('/download/{$filename}', [
'as' => 'download-file',
'uses' => 'YourController@download',
]);
在您的控制器中:
public function download($filename)
{
$path = public_path('/yout/path/');
$headers = [
'Content-Type' => 'xlsx',
];
return response()->download($path, $filename , $headers);
}
在您的视图中:
<a href="{{route('download-file', filename.xlsx)}}" target="_blank">Download</a>
答案 1 :(得分:0)
您可以使用锚点上的HTML5 download
属性在您点击链接时强制在浏览器中下载。
<a href="uploads/testfolder/excelfile.xlsx" target="_blank" download>Download here</a>
答案 2 :(得分:0)
尝试这个
<a href="{{url('/')}}/uploads/testfolder/excelfile.xlsx" target="_blank" download>Download here</a>
或更改浏览器。此代码在我的计算机上下载未在新窗口中打开的文件。