你好,我有一个VUEJS和后端Laravel 5.4的前端。 我会下载保存在 storage / folder / file.pdf
中的pdf现在我从VUEJS进行ajax调用:
downloadAttachment(){
axios.get('/url/attachment/' + this.resource.id)
.then(function (response) {
})
.catch(function (error) {
});
}
在后端我有一个返回pdf文件的函数:
public function download(){
$headers = array(
'Content-Type: application/pdf'
);
return response()->download(storage_path('folder/file.pdf'), 'namefile.pdf' , $headers)->setStatusCode(200);
}
但是现在我如何才能在前端展示下载iframe?
我尝试过:
var blob = new Blob([response.data],{type:headers['content-type']});
var link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = "Filename";
link.click();
但它不起作用,我怎样才能在pdf文件下载的前端iframe中显示?
答案 0 :(得分:0)
尝试以下操作:window.open(URL)
。
此处“ URL”应为实际的URL字符串,因此可能,您将必须将控制器的响应更改为类似以下内容:return response()->json(<url string>)