这已经发布,但我试过很多解决方案,发现SO多(是这样的:http://davidwalsh.name/php-force-download)强制文件下载使用PHP:损坏的文件,尝试了好几种解决方案
我基本上有这样的:
{
$filePath = '../public/myfile.png';
$fileName = basename($filePath);
$fileSize = filesize($filePath);
if (!is_file) {
die("File not found");
} else {
header("Content-Description: File Transfer");
header('Content-Type: application/octet-stream');
header("Content-Disposition: attachment; filename= " . $fileName);
header("Content-Transfer-Encoding: binary");
readfile($filePath);
}
}
文件被识别和下载,但.PNG文件是空的,.DOC文件已损坏(Word要求我修复文件,那么没关系)。我也尝试过PDF,并没有问题。
我trues把所有排序的选项(附注,缓存控制,过期,内容长度等),还是下载文件,但在某种程度上破坏......
你有没有过我的问题?请考虑我在IIS 7.5
在此先感谢
如果您尝试使用文本编辑器打开损坏的文件之一并查看是否有打印错误 –
错误的大小?这可能是腐败的主要原因;另一个是php的警告 –