簡體   English   中英

從Laravel中的存儲中下載文件

[英]Download files from storage in Laravel

我無法從存儲中下載文件。 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'),

DownloadController.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']);
                }
            }
}

您錯過了路徑中的userdata文件夾,因此您需要更改

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM