我有一个文件管理系统,我只允许使用zip文件。我不希望任何人看到文件存储在服务器上的位置,所以我使用ajax调用执行以下内容的php文件:
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".
答案 0 :(得分:0)
当我们尝试通过在浏览器中输入其URL直接下载任何文件时,似乎在Chrome上是正常的。尝试下载Chrome,Firefox&用于Windows的GitHub和它们在chrome上的行为方式相同。
在提供下载链接时,您可以通过在标记内添加下载属性来解决此问题。
<a href="http://www.exmple.co.uk/someplace/filename.zip" download>Download File</a>