response->download () 下载的文件显示损坏. ?
public function fileDownload($id)
{
$pathToFile = AttachmentModel::where('id',$id)->first();
//文件路径
$pathToFile = $pathToFile['url'];
return response()->download($pathToFile);
}
download($file,$filename,$headers)
参数也都尝试过传 依然不好用
上传的文件可以正常打开 没有任何影响
但是下载的文件基本都显示文件损坏

大家下载的时候都是怎么写的?
关于 LearnKu
是我描述的不清楚么。。。。。。
目测有 php 报错
@leo 并没有报错 txt文件只有英文是正常的 其他都是乱码

别的文件打开最后几行是这样的
在 storage 里的文件是正常的?上传一个只有纯文本的文件看看会怎么样
@leo 这是txt的 所有的英文代码内容都是正确的 乱码是我的中文注释
download的第三个参数headers应该怎么传>
@leo 上传到服务器的文件是正常的 都可以正常打开
下载之后就出现文件损坏了
@哈萨凯 检查一下有没有用了什么 middleware 会修改输出的,还有就是看看 nginx 那边有没有类似行为的东西
@leo 用的是apache 还有是不是header没写的原因
@哈萨凯 应该和 header 没有关系,在本地开发环境也这样?
@leo 是的 服务器是IIS7 都出这个问题
@哈萨凯 那肯定是代码问题了,检查 middleware 吧
@leo 试了下添加header参 也不行 middleware怎么检查0.0
@哈萨凯 你好,你这个问题最后怎么解决的,我也碰到同样的问题。
找到解决方法了,
方法来自于 Can't open file downloaded via response()->download() 的最后一条答案。