【发布时间】:2011-10-06 11:35:58
【问题描述】:
我有一个使用 C# 构建的 ASP.NET 应用程序作为后端。我有一个上传 pdf 并检查 MIME 类型 application/pdf 的表单,以验证它是一个有效文件。我需要在 MP4 文件的单独表单上执行此操作,但它似乎不起作用。它总是返回假。我检查了 webkit 中返回的 MIME 类型 FileUpload.PostedFile.ContentType,它非常准确。然而,Firefox 5 和 IE 8 分别针对 text/csv 和 application/octet-stream 进行了测试。这对我来说完全没有意义。我还尝试将扩展名映射到 web.config 文件中正确的 MIME 类型,如下所示:
<staticContent>
<mimeMap fileExtension=".mp4" mimeType="video/mp4" />
<mimeMap fileExtension=".m4v" mimeType="video/m4v" />
<mimeMap fileExtension=".ogg" mimeType="video/ogg" />
<mimeMap fileExtension=".ogv" mimeType="video/ogg" />
<mimeMap fileExtension=".webm" mimeType="video/webm" />
</staticContent>
在后端 CS 文件中,我使用它来测试发布文件的内容类型:
if (file.PostedFile.ContentType == "video/mp4" ||
file.PostedFile.ContentType == "video/mpeg" ||
file.PostedFile.ContentType == "video/ogg" ||
file.PostedFile.ContentType == "video/quicktime" ||
file.PostedFile.ContentType == "video/webm")
return true;
else
return false;
另外请注意我使用的是VS自带的本地开发服务器
【问题讨论】:
标签: c# asp.net mime-types content-type mime