【问题标题】:为什么上传的 .appcache 或 .manifest 文件的 mime 类型是“application/octet-stream”?
【发布时间】:2012-01-18 07:20:20
【问题描述】:

我在表单上上传了文件,当我上传名为“theManifest.manifest”或“theManifest.appcache”的文件时,mime 类型不正确。

我在我的 php 代码中使用 'echo' 来告诉我上传文件的详细信息 -- 这是代码:

 <form enctype="multipart/form-data" action="file-upload.php" method="POST">
   Upload the manifest file:<input type="file" name="uploaded" id="id_upload" />
   <input type="submit" value="Upload" />
 </form>

这是告诉我文件是什么的 php 代码:

    echo "<br> The file that was uploaded is as follows:";
    echo "<br>uploaded_name = " . $_FILES['uploaded']['name'];
    echo "<br>uploaded_size = " . $_FILES['uploaded']['size'];
    echo "<br>uploaded_type  = " . $_FILES['uploaded']['type'];
    echo "<br>uploaded_tmp_name = " . $_FILES['uploaded']['tmp_name'];
    echo "<br>uploaded_error = " . $_FILES['uploaded']['error'];

这是我得到的输出:

The file that was uploaded is as follows:
uploaded_name = theManifest.appcache
uploaded_size = 51
uploaded_type = application/octet-stream
uploaded_tmp_name = C:\xampp\tmp\php4064.tmp
uploaded_error = 0;

我只是不明白为什么在 Windows Vista 上运行的 Firefox 8 认为 .manifest 和 .appcache 文件都是 “应用程序/八位字节流”的 MIME 类型。

这是我的 .appcache 文件的内容,有时用 .manifest 重命名以测试这个问题。

#This is a blank, test-cases-only, .manifest file.

这是一个带有注释(.manifest 样式的注释)的文本文件,没有其他内容。

知道为什么这里的 MIME 类型是“application/octet-stream”吗???

正确 MIME 类型,我应该在上面的代码中看到的那个——据我所知 “text/cache-manifest”——而不是“application/octet-stream”

【问题讨论】:

    标签: php html5-appcache


    【解决方案1】:

    您的计算机(或 Firefox)不太可能将文件扩展名 .appcache.manifest 与 MIME 类型 text/cache-manifest 相关联。这很可能不重要。

    当浏览器下载文件时,这很重要,因为如果没有正确的 MIME 类型,浏览器不会将文件视为 appcache 清单。

    但是对于文件上传,MIME 类型对于 appcache 清单很可能并不重要,至少通常是这样。

    【讨论】:

      猜你喜欢
      • 2018-09-11
      • 2011-09-19
      • 2017-11-01
      • 2021-11-15
      • 2012-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多