我在表单上上传文件,当我上传名为“theManifest.manifest”或“theManifest.appcache”的文件时,mime-type不正确。
我在我的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文件都是 “application / octet-stream”的MIME类型。
以下是我的.appcache文件的内容,有时会使用.manifest重命名以测试此问题。
#This is a blank, test-cases-only, .manifest file.
这是一个带注释(.manifest-style comment)的文本文件,没有别的。
任何想法为什么MIME类型在这里是“application / octet-stream”???
正确的 MIME类型,我应该在上面的代码中看到的那个 - 据我所知 “text / cache-manifest” - 而不是“application / octet-stream”
答案 0 :(得分:1)
您的计算机(或Firefox)不太可能将文件扩展名.appcache
和.manifest
与MIME类型text/cache-manifest
相关联。这很可能不重要。
当浏览器下载该文件时,这很重要,因为如果没有正确的MIME类型,浏览器就不会将该文件视为appcache清单。
但是对于文件上传,MIME类型对于appcache清单来说非常不重要,至少通常是这样。