首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Safari和下载文件问题

Safari和下载文件问题
EN

Stack Overflow用户
提问于 2010-02-13 08:01:03
回答 2查看 2.1K关注 0票数 0

我有一个网站,我让用户下载mp3文件。代码片段(部分)如下所示:

代码语言:javascript
复制
Response.Clear();
Response.AppendHeader("Content-Disposition:", "attachment; filename=mike.mp3");
Response.AppendHeader("Content-Length", "1000");
Response.ContentType = "audio/mpeg3";

一位客户抱怨说,他无法在Mac 10.4.11上的Safari上下载此文件。(它只是在页面上呈现mp3文件)所以,我下载了Safari for Windows,但无法重现这个问题。那么,我猜Windows版的Safari和Mac版的Safari有区别吗?

我没有Mac机器。如何解决此问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-13 08:25:45

也许是头文件名后面的冒号?

是的,这肯定不应该出现在那里。

另外,适用于MP3的MIME媒体类型是audio/mpeg。这种类型涵盖了紧密相关的MPEG层-1、层-2 (.mp2)和层-3 (.mp3)格式(但不包括非常不同的MPEG -4AAC)。

浏览器不会识别非标准(未注册到IANA)的audio/mpeg3类型,因此任何人都不知道他们将如何选择处理它们。不幸的是,它经常涉及一些可怕的内容嗅探猜测,当浏览器看到他们认为是一种(错误)文件类型证据的虚假字符串时,这可能会导致非常不适当的结果。

票数 3
EN

Stack Overflow用户

发布于 2010-02-13 10:20:06

有意思的。我没有asp.net,所以我创建了这个Python web应用程序:

代码语言:javascript
复制
#!/usr/bin/env python
import werkzeug
@werkzeug.Request.application
def app(request):
    f = open("audio.mp3")
    r = werkzeug.Response(f, content_type="audio/mpeg3")
    r.headers.add("Content-Disposition", "attachment; filename=mike.mp3")
    r.headers.add("Content-Length", "1000")
    return r
werkzeug.run_simple("localhost", 4000, app)

即使Content-Type (和Content-Length)错误,Safari也只是下载文件。我在Mac 10.6.2上安装了Safari版本4.0.4 (6531.21.10)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2255894

复制
相关文章

相似问题

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