【问题标题】:Laravel File Not DownloadingLaravel 文件未下载
【发布时间】:2018-01-30 21:01:16
【问题描述】:

是的,在有人将其标记为重复之前,我已经阅读了所有其他问题

我正在运行 Larvel 5.5

我安装了https://github.com/barryvdh/laravel-dompdflaravel/dompdf

我正在尝试保存用户个人资料的一个版本。它返回正确的反应,但我没有得到任何文件下载,我不能为我的生命弄清楚为什么 P>

accept-ranges:none
cache-control:public
cf-ray:3e54e0dd7d5e778a-LAX
content-disposition:attachment; filename="Resume.pdf"
content-length:118499
content-type:application/pdf
date:Tue, 30 Jan 2018 13:46:45 GMT
expect-ct:max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
last-modified:Tue, 30 Jan 2018 13:46:45 GMT
server:cloudflare
set-cookie:XSRF-TOKEN=eyJpdiI6IkVsUFdxVkpIZmpiSjNIOWpUXC9Xc3pBPT0iLCJ2YWx1ZSI6IkdYNDJEYXBnOGsrSFJDM3hPWFRpZlZEZDlYMVwvMitzQTJzcGloRGExSnpwXC9heVRMNVd1WUlkUHVacDBcL1Y2bWN5V1VuMzdPdHRNdmN1TUNmcHdnZThnPT0iLCJtYWMiOiJhNzA1ZmRmYjNkMGFjNWNkY2ZiNzg1MjhiOTYzM2Y5NjVmOTRmYmMzMmYzMzcwMThjNWFlMDM4YjMwNDRjNWU2In0%3D; expires=Tue, 30-Jan-2018 15:46:45 GMT; Max-Age=7200; path=/; domain=theareel.com
set-cookie:laravel_session=eyJpdiI6ImJURThTelFDc1Nvc1QyK3g1T1U1NkE9PSIsInZhbHVlIjoiUDRWMmxPdFlkaCswWHhGZGpPS2FiQThHdlQ3bVU3YXljQStlbUFEdlwvXC9IN2NYd1B0bGJxNlZGUFgrZDRMWGtJTkJEWFVkYXRiNWRxcXJCdXZtNTVsUT09IiwibWFjIjoiZjQyYWEzOTcxYTY4Y2RjMzljMTYyZDc0OWY2ZDQ3NWJkZmE3ZTNkNTBjNTFkN2ZlYTZiN2Y2NGYzN2RiOTM3OCJ9; expires=Tue, 30-Jan-2018 15:46:45 GMT; Max-Age=7200; path=/; domain=theareel.com; HttpOnly
status:200

我还收到一个巨大的字符串作为响应返回,这都是源于这段代码

$User = Auth::user();
$PDF = PDF::loadView('downloadProfile', compact($User));
$PDF->save(public_path().'/'.Auth::user()->id.'resume.pdf');
return response()->download(public_path().'/'.Auth::user()->id.'resume.pdf', 'Resume.pdf');//->deleteFileAfterSend(true);

知道为什么它实际上不会开始下载吗?我已经尝试了所有我能想到的东西,设置请求标头,保存文件然后下载,跳过保存部分并直接下载它

return $PDF->download('Resume.pdf');

他们都返回在浏览器中正确的反应,但它拒绝下载任何东西。 P>

谢谢

  • 扎克

【问题讨论】:

  • 已检查文件是否正确存储 - 您是否已在本地计算机上打开它?
  • 如果它在你的公共路径,你可以将用户重定向到该文件。 SPAN>
  • 这似乎是云耀斑的问题。尝试更改:对于遇到相同问题的其他人,我更改了我的 cloudflare 概述页面的“网络”选项卡上的 HTTP/2 设置。
  • “是的,在有人将其标记为重复之前,我已经阅读了所有其他问题”我不知道为什么人们会尝试这个。 Laravel 和 dompdf 标记了超过一千个问题。如果我们纪念您的主题重复,这是因为答案很可能是重复的线程。冷静。
  • 公平点@SantoshAchari 我无法在本地机器上看到它,因为它似乎没有正确存储,但在存储之前我会收到一条错误消息,说文件不存在,现在我的意思不是它必须暂时存在,对吗?我不想将他们重定向到它,因为它是一个用户友好的下载按钮,我希望它只是在他们的浏览器上下载,这样技术含量较低的人就不会感到困惑

标签: php laravel dompdf


【解决方案1】:

这似乎是云耀斑的问题。尝试更改:cloudflare 概览页面的“网络”选项卡上的 HTTP/2 设置

参考:https://community.cloudflare.com/t/downloads-are-failing-timing-out/7588/4

【讨论】:

  • 我没有选项可以禁用或更改它,我应该这样做吗?
  • 联系 Cloudflare。
【解决方案2】:

解决问题:

我通过 JSON 获取文件并通过 JSON 返回它是问题

为了解决这个问题,我为下载创建了一条 GET 路径,以通过 GET /username/downloadPDF 进行下载并返回相同的路径并下载

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-15
    • 2020-12-01
    • 1970-01-01
    • 2018-02-02
    • 2017-03-24
    • 2019-03-18
    • 1970-01-01
    • 2021-09-09
    相关资源
    最近更新 更多