Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Laravel'下载文件;s存储立面_Php_Laravel - Fatal编程技术网

Php 使用Laravel'下载文件;s存储立面

Php 使用Laravel'下载文件;s存储立面,php,laravel,Php,Laravel,我在storage/app/目录中有一个目录dl,我使用storage::get(dl/filename.ext)获取了文件内容 但是现在我想为这些文件创建一个下载链接,我有点困惑于响应和存储外观是如何工作的。 我使用的是带有如下定义路由的响应facade: Route::get('site/download/{fileName}', function($fileName) { $path = storage_path().'/app/dl/'.$fileName; retur

我在
storage/app/
目录中有一个目录
dl
,我使用
storage::get(dl/filename.ext)

获取了文件内容 但是现在我想为这些文件创建一个下载链接,我有点困惑于响应和存储外观是如何工作的。

我使用的是带有如下定义路由的响应facade:

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

    return Response::download($path, $fileName);
});
注意:我使用的是Laragon,site是根目录。
出现的问题是
无法猜测mime类型,因为没有可用的猜测器(是否启用了php_fileinfo扩展?
)。我知道这是一个已知的问题,但在寻找解决方案后,我没有找到适合我需要的东西。这些文件是C文件,mime类型可能应该是“text/plain”,但我不知道如何以及在哪里指定它。
我还寻找了其他解决方案,但
文件不存在
不断出现。

我需要一些东西从
存储/app/dl/
下载文件您的路径包含文件名,因此“文件不存在”

这对我很有用:

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

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

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

});

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

这对我很有用:

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

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

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

});

它实际上缩短了我写它的方式,所以它更清楚。。。这很好…但它仍然告诉我一些mime类型的错误,这是无法猜测的,由一些php_fileinfo mistery向导…它实际上缩短了我如何编写它,所以它更清楚。。。这很好…但它仍然告诉我一些mime类型错误,这是一些php_fileinfo错误向导无法猜到的。。。。