【问题标题】:How to fix 'The file .... does not exist in Laravel?如何修复'文件....在 Laravel 中不存在?
【发布时间】:2019-10-19 18:55:02
【问题描述】:

我想从我的 Laravel 项目的存储文件夹中下载文件。

这是我用来下载文件的方法:

return response()->download(storage_path($path), $name);

当我单击重定向到此方法的链接时,我会从浏览器收到此输出:

Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException 文件“pathToTheFile”不存在。

问题是当我访问 www.mydomain.com/pathToTheFile 时,浏览器会显示这个 txt 文件。为什么它不从链接下载文件?有人可以帮忙吗?

如果文件很重要,则使用 Voyager Admin Package 上传文件。

【问题讨论】:

  • 文件保存在哪里?也许你走错了路。
  • 检查磁盘上的文件,你的路径def错了。该文件很可能存储在storage/app/public 中,而您正在尝试执行storage_path(),即storage。检查文件的确切上传位置,并使用正确的路径:storage_path('app/public/FILE)
  • 文件保存在标准的 Laravel 存储文件夹中。正如我在将错误消息中可见的链接复制到 www.mydomain.com/COPIED-LINK 时所写的那样,该文件出现在浏览器中......所以它以某种方式存在并且路径是正确的。
  • @Raul 我试过这个解决方案,但它也不起作用。
  • www.mydomain.com/COPIED-LINK 表示该文件存储在您的public 文件夹中。这不在您的storage 文件夹中。你可能有一个符号链接或其他东西,但如果没有,那么你需要使用public_path($file) 来获取你的文件。

标签: laravel voyager


【解决方案1】:

我解决了这个问题。方法应该是:

return Storage::disk('public')->download($path, $name);

还是谢谢你的帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-17
    • 1970-01-01
    • 2020-11-29
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    相关资源
    最近更新 更多