使用Laravel的存储外观下载文件

时间:2017-05-22 10:16:05

标签: php laravel

我在dl目录中有一个目录storage/app/,我设法使用Storage::get(dl/filename.ext)获取文件内容了 但现在我想为这些文件制作一个下载链接,我对响应和存储外观如何工作感到困惑。

我使用具有如下定义路线的Response facade:

Route::get('site/download/{fileName}', function($fileName) {
    $path = storage_path().'/app/dl/'.$fileName;

    return Response::download($path, $fileName);
});

注意:我使用Laragon,site是根目录 出现的问题是Unable to guess the mime type as no guessers are available (Did you enable the php_fileinfo extension?)。我知道这是一个已知问题,但在寻找解决方案后,我找不到符合我需求的东西。文件是C文件,mime类型应该是&text; / text'可能,但我不知道如何以及在何处指明它 我也寻找其他解决方案,但file does not exists不断出现 我需要从storage/app/dl/下载文件。

1 个答案:

答案 0 :(得分:0)

您的路径包含文件名,因此'文件不存在'

这对我有用:

Route::get('test', function() {

   $pathToFile = storage_path('app/test.txt');

   return response()->download($pathToFile);

});