【问题标题】:firefox downloads mp3 files without an extensionfirefox 下载没有扩展名的 mp3 文件
【发布时间】:2011-12-24 01:11:28
【问题描述】:

我正在使用我在这里找到的下载类 http://www.phpclasses.org/package/3220-PHP-Serve-files-for-download-with-resume-support.html 让 ppl 下载 mp3 文件。

它在除 Firefox(所有版本)之外的所有浏览器中都运行良好。

当我在 Firefox 中使用此类下载 mp3 文件时,它会下载没有 .mp3 扩展名的文件。这可能是什么原因造成的,我该如何解决?

【问题讨论】:

  • 这些文件实际上是由服务器作为 mp3 提供的吗?
  • 是的,它们被用作 mp3 文件,但是这个下载类有一个我使用的重命名功能

标签: php firefox download


【解决方案1】:

似乎要让 Firefox 使用扩展名保存文件,您必须用引号将文件名括起来。

header('Content-Disposition: attachment; filename="'.$file.'"');

【讨论】:

    【解决方案2】:

    请再次检查文件名。如果文件下载有 1 个字符是空格键 (" ") 示例:“模板导入.xls”。 Firefox 在下载时会出现没有扩展的错误。 你可以用函数 replace(" ", "") 用 asp.net 解决这个问题:

    HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" + reportName.Replace(" ", ""));

    【讨论】:

      【解决方案3】:

      没有任何代码,我的猜测是您没有将文件名作为 HTTP 标头发送:

      header("Content-Disposition: attachment; filename=" . $filename);
      

      您还应该发送正确的 MIME 类型:

      header("Content-type: audio/mpeg3");
      

      编辑: 没关系,我以为我无法通过 OP 的链接下载文件,现在可以看出我错了。脚本显然使用了这些方法,只是不确定它是否正确。

      【讨论】:

      • 您确定上面的标题中的文件名设置正确吗?这将导致文件名没有扩展名。
      • 天哪,这解决了问题。如果我在没有扩展名的情况下重命名它,Firefox 不会成功。现在它是固定的谢谢..
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-07
      • 1970-01-01
      • 2015-12-06
      • 1970-01-01
      • 2016-09-06
      相关资源
      最近更新 更多