资源解释为Document但使用MIME类型application / octet-stream控制台传输

时间:2015-05-20 13:43:16

标签: php ajax download zip console.log

我有一个文件管理系统,我只允许使用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".

1 个答案:

答案 0 :(得分:0)

当我们尝试通过在浏览器中输入其URL直接下载任何文件时,似乎在Chrome上是正常的。尝试下载Chrome,Firefox&用于Windows的GitHub和它们在chrome上的行为方式相同。

在提供下载链接时,您可以通过在标记内添加下载属性来解决此问题。

<a href="http://www.exmple.co.uk/someplace/filename.zip" download>Download File</a>