2011-12-12 175 views
0

我有一个文件上传在表单上,​​当我上传我的文件称为“theManifest.manifest”或“theManifest.appcache”时,MIME类型是不正确的。为什么上传的.appcache或.manifest文件的MIME类型是“application/octet-stream”?

我用“回声”在我的PHP代码,告诉我这是上传的文件的详细信息 - 这里是代码:

<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; 

我只是不明白为什么的Firefox 8在Windows Vista上运行的日墨水,这两个.manifest和.appcache文件是 “application/octet-stream”的MIME类型。

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

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

这是一个包含注释(.manifest样式注释)的文本文件,没有别的。

任何想法为什么MIME类型是“application/octet-stream”在这里?

正确 MIME类型,我应该在上面的代码中看到报道的一个 - 就是尽我所知 “文本/缓存清单”的 - 而不是“应用程序/八位字节流”

回答

1

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

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

但是对于文件上传,MIME类型对于appcache清单来说可能并不重要,至少通常如此。