如何使用laravel响应以ajax成功下载文件

城司

我正在制作一个PDF的zip文件,然后在浏览器中下载。.我已经使用了ajax,并且希望接收文件作为响应,以便我可以下载它。

return response()->download(public_path().'/documents/'.$zipName , $zipName, $headers);

这是我得到的回应

我也尝试过这种方法,但没有奏效,idont知道我所缺少的。

Laravel回应:

  $downloadData = [
          'zipFile' => $zipName,
          'headers' => $headers,
          'url' => public_path('documents/').$zipName
        ];
        return response()->json(['status'=>1,'data'=> $downloadData]);

AJAX成功:

  var a = document.getElementById('zipDownload');
                       a.href  = data.data.url;
                       a.target  = '_blank';
                       a.download  = data.data.zipFile;
                       setTimeout(function() {
                         a.click();
                       }, 200);

锚点显示文件的正确路径,并在我将其粘贴到新选项卡中时下载。.但是当我触发锚点标记时,它显示不允许加载本地资源:file:/// C:/ xampp / htdocs / ems /public/documents/records-20200512002210.zip

安雅娜

尝试在Laravel响应中使用它(如果您正在使用http:// localhost:8000或类似的东西访问Web应用程序,其中laravel应用程序的公共目录被设置为文档根目录):

 $downloadData = [
          'zipFile' => $zipName,
          'headers' => $headers,
          'url' => '/documents/'.$zipName
        ];
return response()->json(['status'=>1,'data'=> $downloadData]);

在这里,您甚至可以根据已设置的配置/环境变量使用url('/documents/'.$zipName)route()功能。

file:///C:/xampp/htdocs/ems/public/documents/records-20200512002210.zip是Web服务器上的文件资源,前端(JS)应该看不到它。因此,应该相对于Web应用程序的URI访问要下载的zip文件。

就您而言,如果浏览器能够访问http://localhost:8000/documents/<zip file name>.ziphttp://localhost/ems/documents/<zip file name>.zip,则最好继续进行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从AJAX响应下载文件

来自分类Dev

如何使用Laravel从外部api响应源下载文件?

来自分类Dev

清除回发中的响应以从Button单击下载文本文件

来自分类Dev

如何使用laravel和vuejs下载文件

来自分类Dev

在ajax成功node.js上下载文件

来自分类Dev

不使用Ajax下载文件

来自分类Dev

使用Ajax和iframe下载文件

来自分类Dev

使用Blob从Ajax结果下载文件

来自分类Dev

从响应主体下载文件

来自分类Dev

如何使用boost :: beast,下载文件无阻塞且带有响应

来自分类Dev

如何使用restsharp下载文件

来自分类Dev

如何使用C从http下载文件?

来自分类Dev

如何使用硒下载文件?

来自分类Dev

如何使用锚标记<a>下载文件

来自分类Dev

如何使用jQuery下载文件?

来自分类Dev

如何使用Cowboy下载文件?

来自分类Dev

如何使用Java Spark下载文件?

来自分类Dev

如何使用php下载文件?

来自分类Dev

如何使用jxbrowser库下载文件?

来自分类Dev

如何使用Express从url下载文件?

来自分类Dev

如何使用git从heroku下载文件

来自分类Dev

如何使用JavaScript强制下载文件?

来自分类Dev

如何使用Cowboy下载文件?

来自分类Dev

如何使用php下载文件?

来自分类Dev

如何使用angularjs下载文件?

来自分类Dev

如何使用VBA从Sharepoint下载文件

来自分类Dev

如何从IE上的GET XMLHttpRequest响应下载文件?

来自分类Dev

如何下载文件

来自分类Dev

如何下载文件?