gpt4 book ai didi

apache - 阻止 mp3 文件在浏览器中流式传输

转载 作者:行者123 更新时间:2023-12-02 00:57:12 25 4
gpt4 key购买 nike

我在 apache 服务器上有一个 mp3。我希望当用户访问链接时将其作为文件下载。相反,quicktime 或 google chrome 媒体播放器将尝试对其进行流式传输。

是否有解决此问题的标题?或者是唯一的选项“右键另存为”?

编辑这是我的标题。 Safari 已停止流式传输,但 Chrome 继续这样做。Chrome 似乎忽略了这一点:

我可以看到标题已正确更改:

Date    Wed, 04 Aug 2010 00:14:35 GMT
Server Apache/2.2.13 (Unix) mod_ssl/2.2.13 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.11
Last-Modified Tue, 03 Aug 2010 04:37:01 GMT
Etag "2bbd692-79597d-48ce3de3f5540"
Accept-Ranges bytes
Content-Length 7952765
Content-Disposition attachment
Keep-Alive timeout=5, max=100
Connection Keep-Alive
Content-Type audio/mpeg

header 中是否还有其他内容会导致此问题?

编辑做了一些研究,我发现了这个:http://www.google.com/support/forum/p/Chrome/thread?tid=76de4f53f43f03d3&hl=en看来 Chrome 中可能存在错误,导致无法下载。

最佳答案

您想要设置 Content-Disposition “附件”的响应 header ,也可能是“文件名”字段。

示例:

Content-Disposition: attachment; filename=foo.mp3;

要直接在 Apache 中完成此操作,请尝试将以下内容放入 httpd.conf.htaccess 文件中:

<FilesMatch "\.(?i:mp3)$">
ForceType audio/mpeg
SetEnvIf Request_URI "^.*/?([^/]*)$" FILENAME=$1
Header set Content-Disposition "attachment; filename=%{FILENAME}e"
UnsetEnv FILENAME
</FilesMatch>

编辑:

在 Apache 配置示例中添加了文件名字段,借自 this answer 。但是,您应该注意由包含非 US-ASCII 字符的文件名引起的潜在问题:请参阅 this question .

或者,您可以使用通用常量文件名(因为您已经知道扩展名),例如 song.mp3,但这可能不是一个选择,具体取决于您的情况。

第三个选项是创建一个脚本来服务这些 MP3,它可以设置 header 并负责从文件名中删除不需要的字符。

关于apache - 阻止 mp3 文件在浏览器中流式传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3401650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com