首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >资源解释为文档,但使用MIME类型的应用程序/八位流控制台进行传输。

资源解释为文档,但使用MIME类型的应用程序/八位流控制台进行传输。
EN

Stack Overflow用户
提问于 2015-05-20 13:43:15
回答 1查看 2.9K关注 0票数 1

我有一个文件管理系统,我正在建设的地方,只有压缩文件是允许的。我不希望任何人看到文件存储在服务器上的位置,所以我使用了对php文件的ajax调用,该文件执行以下操作:

代码语言:javascript
运行
复制
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);

    }
}

该文件可以很好地下载,但它会输出一条控制台消息,指出文件位置:

代码语言:javascript
运行
复制
Resource interpreted as Document but transferred with MIME type application/octet-stream: 
"http://www.exmple.co.uk/someplace/filename.zip".
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-28 17:55:54

当我们试图通过在浏览器中输入任何文件的url来直接下载任何文件时,在chrome上似乎是正常的。试着下载Chrome、Firefox和GitHub到windows上,他们在chrome上的行为都是一样的。

在提供下载链接时,可以通过在标记中添加download属性来修复相同的问题。

代码语言:javascript
运行
复制
<a href="http://www.exmple.co.uk/someplace/filename.zip" download>Download File</a>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30351513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档