如何解决laravel 在 storage/app/public 中下载文件 pdf
嗨,我在 storage/app/public 中有一个 pdf 文件,我想按一个按钮下载它
所以我在刀片上有按钮
<button type="button" class="btn btn-success" id="planningDwld" data-namefile="{{$planning->file_name}}">
Scarica planning caricato il
{{Carbon\Carbon::parse($planning->date_ins)->format('d/m/Y')}}
</button>
和 javascript ajax 调用
$(document).on("click",'#planningDwld',function(e) {
$filename = $(this).attr("data-namefile");
$.ajax({
type: 'get',url: "{{ url('/downloadFile') }}",data: {
'filename': $filename
},success: function(data) {
}
}); //fine ajax
public function downloadFile()
{
$filename = request("filename");
$path = storage_path().'/'.'app'.'/public/';
$pathToFile = $path.$filename;
return response()->download($pathToFile);
}
但是当我点击按钮时,它不会下载文件,它只会在我点击 chrome 调试网络行中的下载文件和预览版 chrome 时才下载
%PDF-1.5
%âãÏÓ
10 0 obj
<</Linearized 1/L 24374/O 12/E 19873/N 1/T 24073/H [ 507 175]>>
endobj
33 0 obj
<</DecodeParms<</Columns 4/Predictor 12>>/Filter/FlateDecode/ID[<63DA52A9430528F2C6338FF33BE7B657><BC91512376F61B47BFE7E75DF1F5D828>]/Index[10 37]/Info 9 0 R/Length 101/Prev 24074/Root 11 0 R/Size 47/Type/XRef/W[1 2 1]>>stream
hÞbbd``b`š$ü€ãN Á "äAÄS Áœ"AÜWp±V¶@‚»ÄÒé}béXß@¬@‚u;ˆpl ÂHlÃÀÄÈ0d%#ÄÆw_–pH
endstream
endobj
startxref
0
%%EOF
46 0 obj
<</Filter/FlateDecode/I 113/L 97/Length 90/S 38>>stream
hÞb``e``òd¯•¨€ˆY8ÅD¡˜a'Ó³dI+Œ…udþŸ³±ˆic)óEvû'_»Æ̪†×6’aå#Ÿ‘ À¶Òo
endstream
endobj
11 0 obj
<</Metadata 2 0 R/PageLabels 6 0 R/Pages 8 0 R/Type/Catalog>>
endobj ........ETC.....
为什么?我也尝试定义标题但不起作用 谢谢
编辑
我唯一的解决方案是不使用 javascript ajax 调用,而只在 html Blade 中进行
<a href="https://example.com/drh/downloadFile?filename={{$planning->file_name}}"
class="btn btn-primary"> Scarica planning caricato il
{{Carbon\Carbon::parse($planning->date_ins)->format('d/m/Y')}}</a>
在控制器中就是这个
public function downloadFile()
{
$filename = request("filename");
return response()->download(storage_path("app/public/{$filename}"));
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。