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

2024-01-08

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

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

Edit这是我的标题。 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

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

Edit做了一些研究,我发现了这一点:看来 Chrome 中可能存在错误,导致无法下载。


您想要设置Content-Disposition http://en.wikipedia.org/wiki/MIME#Content-Disposition“附件”的响应标头,也可能是“文件名”字段。

Example:

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

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

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

EDIT:

在 Apache 配置示例中添加了文件名字段,借用自这个答案 https://serverfault.com/questions/101948/how-to-send-content-disposition-headers-in-apache-for-files/101966#101966。但是,您应该注意由包含非 US-ASCII 字符的文件名引起的潜在问题:请参阅这个问题 https://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content-disposition-header-in-http.

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阻止 mp3 文件在浏览器中流式传输 的相关文章

  • 当浏览器的缓存已满时会发生什么?

    当网络浏览器的缓存已满时会发生什么 可以 删除缓存中最旧的项目以腾出空间 完全停止缓存 IE Firefox Chrome 和 Safari 等主要浏览器是否记录了此行为 谷歌声称每个浏览器都使用 LRU 来决定转储什么 Here code
  • 在 Web 浏览器中禁用 F5 [重复]

    这个问题在这里已经有答案了 可能的重复 禁用浏览器的后退按钮 https stackoverflow com questions 961188 disable browsers back button 如何禁用浏览器上的 F5 刷新 htt
  • 文件不存在时.htaccess 重定向

    我正在使用 htaccess 将用户重定向到我的主控制器 并且工作正常 但是当我调用一个不存在的js文件时 如下所示 这个js文件不只是说404 文件不存在 而是获取index php的内容 我应该如何进行 这是我的 htaccess
  • 请求的操作失败 - Apache 错误

    当我尝试启动 Apache 2 2 服务器时 它显示以下消息 请求的操作失败 在命令提示符中显示如下 C Documents and Settings amth gt net start apache2 2 The Apache2 2 se
  • 严格/过渡 DOCTYPE 之间的浏览器渲染差异

    前段时间我遇到了一个 问题 但我从未深入了解过 希望有人能够照亮它 当我将 DOCTYPE 从严格更改为过渡时 是什么导致某些浏览器 Chrome Opera 和 Safari 以不同方式呈现页面 我知道造成这种情况的一般原因是触发了怪异模
  • ProxyPassMatch 与 ProxyPassReverse

    各位 我们正在尝试为以下场景设置 Apache 反向代理 传入请求采用以下形式http foo com APP v1 main html 对于某些服务器 URL 将引用不同的版本 例如 http foo com APP v2 main ht
  • 显式删除会话cookie会产生什么影响?

    我使用 php session 来维护用户的会话 Session 在登录后创建 在注销或超时后销毁 我需要管理面板中的一个选项来强制注销任何用户 如果他在网站上处于活动状态 我怎样才能做到这一点 我正在考虑删除临时会话文件 这应该有效地破坏
  • 让 Rails 生产在端口 80 上运行

    我正在尝试让我的 Rails 应用程序在生产模式下运行 但遇到了一些困难 我正在使用 Passenger 和 apache 并运行 Ubuntu 12 04 我已经配置和创建了生产数据库 并设置了乘客 状态如下 rvmsudo passen
  • Apache 未发送 304 响应(如果启用了 mod_deflate 和 AddOutputFilterByType)

    我在 Apache httpd conf 中添加了以下行 AddOutputFilterByType DEFLATE text html text css application javascript application x javas
  • 如何知道浏览器空闲时间?

    如何跟踪浏览器空闲时间 我用的是IE8 我没有使用任何会话管理 也不想在服务器端处理它 这是纯 JavaScript 方法来跟踪空闲时间 并在达到一定限制时执行一些操作 var IDLE TIMEOUT 60 seconds var idl
  • 是否可以将请求标头添加到 CORS 预检请求中?

    我有一个从外部服务器 不是服务器 访问 API 的网站 为网站提供服务 通过简单的XmlHttpRequest 见下文 那个API 需要将用于访问服务的 API 密钥添加为请求标头 然而 正如这些CORS https developer m
  • 如何授予 apache 使用 NTFS 分区上的目录的权限?

    我在一台带有 20GB 硬盘的旧机器上运行 Linux Lubutu 12 10 我有一个 1 TB 外部硬盘 上面有一个 NTFS 分区 在该分区上 有一个 www 目录 用于保存我的网页内容 它在启动时自动安装为 media t515
  • 如何让Apache服务index.php而不是index.html?

    如果我将以下行放入index html文件 使 Apache 包含index php file 参观index html页面向我显示了这个 这是为什么 为什么它实际上不包含 PHP 文件 正如其他人指出的那样 您很可能没有 html设置为处
  • 下载Xcode? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我刚刚升级到 OS X Mavericks 我很高兴能够使用所有新的 Mavericks 技术 我只有
  • PowerShell FTP 下载文件和子文件夹

    我喜欢写一个PowerShell脚本来下载全部文件 and 子文件夹从我的 FTP 服务器 我找到了一个脚本来下载一个特定文件夹中的所有文件 但我也喜欢下载子文件夹及其文件 FTP Server Information SET VARIAB
  • 如何让 JavaScript 发出蜂鸣声?

    我希望我的网页在用户超出我的最大字符限制时发出蜂鸣声
  • PHP:让用户仅下载购买的文件

    我预见到允许客户通过 PayPal 向我购买某些内容会出现问题 我将提供多种无形商品 当有人完成对其中一种商品的购买时 他们将被重定向到一个登陆页面 让我们称之为 thank you php 该页面将自动排队下载 并允许链接排队下载 以防万
  • 如何检查浏览器是否支持 WebAssembly?

    随着所有新的主要浏览器都支持 WebAssembly 我如何检查当前访问我网站的浏览器是否支持它 有几种方法可以检测 WebAssembly 的存在 基本的一个是检查是否WebAssembly如果类型 object 在全局作用域中 但是在不
  • 具有动态 apache vhost 的非通配符证书

    我正在尝试根据用于连接到我的服务器的 url 动态读取 SSL 证书的位置 我尝试了几种不同的方法 但似乎都不起作用 目前我的配置如下所示 UseCanonicalName Off listen 443
  • 如何阻止用户通过url访问css文件和图像

    我在用 htaccess防止用户通过 url 访问文件 线路 RewriteRule frontend assets css index L R 工作正常 它阻止用户访问 css 文件 然而 RewriteRule frontend ass

随机推荐

  • 在单元测试中伪造我的数据库层的方法是什么?

    我有一个关于单元测试的问题 假设我有一个带有一个创建方法的控制器 该方法将新客户放入数据库中 code a bit shortened public actionresult Create Formcollection formcollec
  • 如何使用 javascript 将 json 数据写入 google 工作表

    我正在尝试使用 javascript 将 json 数据渲染到 google 工作表 我尝试搜索大量文档 并且已经尝试了几个小时 我确实在工作表中输入了一行数据 但我需要在正确的行和列中渲染整个 json 数据集 function rend
  • 如何在Spring字符串到数组或列表转换中转义“,”(逗号)

    我们有一个 Spring 绑定 它将字符串转换为Lists 使用 Spring 提供的默认转换器 例如 如果我们有a b c从表单推送然后控制器得到一个List与元素 a b c 我们不需要在代码中做任何特殊的事情 我在处理数据中的逗号时遇
  • 自动点击弹出按钮

    我有以下按钮突然出现在窗口上 span class a b c Accept Waiting Chat span 是否可以拦截它并自动点击它 我正在考虑 JS 或 Greymonkey 扩展中的一些东西 Ideas None
  • 阻止直接访问文件,但允许通过 jquerys 加载函数访问

    我在用着jQuery通过它向用户显示某个页面 load 功能 我这样做是为了允许用户自定义网站 让他们能够满足自己的需求 目前 我正在尝试显示该文件feed php容器内部main php 我遇到一个问题 我想阻止直接访问文件 即 直接进入
  • 使用 MSBuild 4.0 记录构建消息

    我在代码中使用 MsBuild 4 0 如下所示 var globalProperties new Dictionary
  • 使用 Python BeautifulSoup 库解析 Span HTML 标签中的信息

    我正在编写一个 Python 网络抓取工具 用于获取特定股票的价格 在我的程序末尾 有一些打印语句可以正确解析 html 数据 以便我可以在某个 HTML span 标记内获取股票的价格信息 我的问题是 我该怎么做 我已经获得了正确的 HT
  • 无法强制 clang CompilerInstance 对象将标头解析为 C++ 文件

    我有一个名为的 C 标头class h我想解析 class MyClass public Class Class bool isTrue const bool isFalse const private bool m attrib bool
  • WebStorm IDE 的高效使用

    我最近爱上了 WebStorm 作为 JavaScript 开发的 IDE 问题是 我来自 vim 和轻量级编辑器的世界 所以我可能无法完全理解 IDE 带来的所有功能 是的 我已经看过演示文稿并阅读了文档 但是有很多功能 我不确定其中哪些
  • 在 ggplot 中制作多个几何图形动画

    我正在尝试制作一个动画情节 展示 NBA 球队的三分出手率和助攻率如何随时间变化 虽然图中的点正确过渡 但我尝试添加垂直和水平平均线 但是总体平均值保持不变 而不是逐年变化 p lt ggplot dataBREFPerPossTeams
  • EF 4.3 迁移 - 如何生成降级脚本?

    我有一个问题 在网络上找不到答案 我正在使用带有 SQL 的 Code First EF 4 3 1 迁移 我添加了几个迁移 现在我想生成一个用于在两个迁移之间升级 降级的脚本 对于升级 我运行以下命令 成功重现升级脚本 PM gt Upd
  • 我什么时候在哪里以及如何更改对象的 __class__ 属性?

    我希望能够做到 gt gt gt class a str pass gt gt gt b a gt gt gt b class str Traceback most recent call last File
  • 单击时添加 div,然后在每次单击时切换它

    我尝试点击添加 添加的内容将第一次出现 添加后 我想单击 添加 它只会切换 已添加 而不是每次单击时添加 已添加 Jquery function var NewContent div class added Added div add cl
  • 在 Velocity 模板中调用宏函数

    我试图弄清楚如何从速度宏调用返回一个值并将其分配给一个变量 我的宏函数看起来像这样 它曾经是常见的共享宏文件 macro getBookListLink readingTrackerResult readingTrackerResult g
  • Spring Boot + Batch:注入/自动装配的 bean 在 ItemReader 中为 null

    当我尝试自动装配 ItemReader 中的任何 bean 时 我收到 NPE 有人可以帮我解决我哪里出错了吗 谢谢 要求是我想在 ItemReader 中注入 DAO 以从多个源获取数据并创建单个对象 这是我的配置类 Configurat
  • PHP 保护目录不被直接 URL 访问

    我有一个管理员脚本 admin index php 所有的活动都是通过这个完成的index php file 用户在获得程序功能的访问权限之前先登录 SESSION user authenticated 创建并设置为true admin t
  • 扩展 Magic Mouse 的功能:我需要 kext 吗?

    我最近购买了一个妙控鼠标 它非常棒并且充满潜力 不幸的是 它受到软件支持的严重阻碍 我想解决这个问题 我做了很多研究 这些是迄今为止我对事件链的发现 Magic Mouse 向系统发送完整的多点触控事件 多点触控事件在 Multitouch
  • 使用 ExpandableListView/SimpleCursorTreeAdapter 在 UI 线程上运行 SQLite 查询

    我正在开发一个用于显示大量 RSS 源的 Android 应用程序 是的 我知道已经有很多这样的应用程序 要显示的数据由内容提供商支持 我希望向后兼容 API 级别 4 我正在使用一个ExpandableListView显示三个不同 RSS
  • 检查日期约束

    我需要对日期进行检查约束 以便在今天 该日期之后无法输入数据 请指教谢谢大家 尝试这个 ALTER TABLE yourTable ADD CONSTRAINT yourDateTimeColumn CHECK yourDateTimeCo
  • 阻止 mp3 文件在浏览器中流式传输

    我在 apache 服务器上有一个 mp3 我希望当用户访问链接时将其作为文件下载 相反 quicktime 或 google chrome 媒体播放器将尝试传输它 有没有解决这个问题的标题 或者是唯一的选项 右键另存为 Edit这是我的标