【问题标题】:Download files from storage in Laravel从 Laravel 的存储中下载文件
【发布时间】:2015-10-20 03:30:41
【问题描述】:

我无法从存储中下载文件。 Firebug 控制台显示

File.php 第 41 行中的 FileNotFoundException:文件 “C:\xampp\htdocs\ct\storage/30e9734e1f06bf751da5b3289994fb3f/34.pdf” 不存在

但文件存在于C:\xampp\htdocs\ct\storage\userdata\30e9734e1f06bf751da5b3289994fb3f 文件夹中。我认为我在代码中提到的文件路径不正确。请帮我解决这个问题。

filesystems.php

'root'   => storage_path('userdata'),

下载控制器.php

    public function show(TagambitionRequest $request)
        {
            $details             = User::select('id', 'created_at')->findOrFail(Auth::user()->id);
            $encrypt             = md5($details->id.$details->created_at);
            $directories         = Storage::files($encrypt);                                             // Listout Files
            foreach($directories as $values)
            {
                $split_folder_file = explode('/', $values);           //60e4dda43c442fe610bdbd4a0e5c3a12/19.pdf
                $splitted_file     = end($split_folder_file);         //19.pdf
                $explode_filename  = explode('.', $splitted_file);    //explode(19.pdf)
                $explode_name      = $explode_filename[0];            //19
                $file_extension    = $explode_filename[1];            //pdf
                if ($file_extension == 'pdf') {
                    $path  = storage_path().'/'.$encrypt.'/'.$splitted_file;
                    return response()->download($path, $splitted_file, ['Content-Type' => 'application/pdf']);
                }
            }
}

【问题讨论】:

  • 您似乎使用的是 Windows 计算机 - 那么您使用了错误类型的斜杠,请检查您的错误消息。在 Laravel 中,默认情况下集成了 Flysystem,请查看强烈推荐的文档 (laravel.com/docs/5.1/filesystem),而不是构建自己的解决方案。
  • Windows 可以处理斜杠和反斜杠,即使它们混合使用。所以这不是错误。当您通过 Windows 资源管理器中的路径时会发生什么?

标签: php laravel laravel-5


【解决方案1】:

您错过了路径中的 userdata 文件夹,因此您需要更改

$path = storage_path().'/'.$encrypt.'/'.$splitted_file;

$path = storage_path().'/userdata/'.$encrypt.'/'.$splitted_file;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-05
    • 1970-01-01
    • 2021-08-26
    • 2021-10-08
    • 1970-01-01
    • 2020-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多