php - Laravel 7浏览器不下载文件
问题描述
我在我的 Windows 10 机器上运行 Xampp,并且我的files.txt
目录项目中有一个名为的文件。
[...]存储\应用\公共
我的config/filesystem.php
样子:
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
'permissions' => [
'file' => [
'public' => 0664,
'private' => 0600,
],
'dir' => [
'public' => 0775,
'private' => 0700,
],
],
],
在我的控制器上,我正在调用要下载的文件
return response()->download(storage_path("app\public\\files.txt"),'down.txt');
我收到 200 状态好的,我收到的标题内容:
内容处置:附件;filename=files.txt ,在浏览器 Xhr devtools 的响应中,我可以看到文件的内容,但不满意下载不会发生。
解决方案
您可以尝试指定标头吗:
$content = storage_path("app\public\files.txt");
$fileName = 'down.txt';
$headers = [
'Content-type' => 'text/plain',
'Content-Disposition' => sprintf('attachment; filename="%s"', $fileName),
'Content-Length' => strlen($content)
];
return response()->download($content,$fileName, $headers);
推荐阅读
- javascript - 数组不是数据而是容器但是为什么它有数据类型?
- javascript - 具有视差效果的整页滚动
- java - Wildfly - 打开的文件太多
- html - 样式表的路径未在 WordPress 上更新?
- c++ - 为什么我在运行 ZMQ 发布示例时收到错误“***堆栈粉碎检测到***”?
- python - `steps_per_epoch=None` 仅对基于 `keras.utils.Sequence` 的生成器有效
- typescript - 当类型定义中使用泛型和条件时,Typescript 不会在 switch 语句中推断类型
- java - 如何从 hbox 中删除形状?
- javascript - 如何在移动全屏中播放垂直视频,就像 youtube 一样使用 html5 占据整个屏幕?
- reinforcement-learning - Q 函数与动作值函数