我有一个文件管理系统,我正在建设的地方,只有压缩文件是允许的。我不希望任何人看到文件存储在服务器上的位置,所以我使用了对php文件的ajax调用,该文件执行以下操作:
if (!empty($find_url)) {
foreach ($find_url as $file) {
$dl = urldecode($file->file_url);
}
$file_headers = @get_headers($dl);
if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
$exists = false;
} else {
$exists = true;
header('Content-Type: application/zip');
header("Content-Transfer-Encoding: Binary");
header('Location: '.$dl);
}
}该文件可以很好地下载,但它会输出一条控制台消息,指出文件位置:
Resource interpreted as Document but transferred with MIME type application/octet-stream:
"http://www.exmple.co.uk/someplace/filename.zip".发布于 2015-05-28 17:55:54
当我们试图通过在浏览器中输入任何文件的url来直接下载任何文件时,在chrome上似乎是正常的。试着下载Chrome、Firefox和GitHub到windows上,他们在chrome上的行为都是一样的。
在提供下载链接时,可以通过在标记中添加download属性来修复相同的问题。
<a href="http://www.exmple.co.uk/someplace/filename.zip" download>Download File</a>https://stackoverflow.com/questions/30351513
复制相似问题