奇怪的 MIME 类型是从哪里来的?

5

我有一个用C#编写的文件上传Web服务。前端应用程序是用Javascript / HTML5编写的(使用 https://github.com/blueimp/jQuery-File-Upload

最近,我正在审核服务器日志,并发现客户端浏览器发送的一些PDF文件的MIME类型很奇怪,例如:

application/unknown
application/force-download
application/force-download/n
application/force-download\n
[application/pdf]

其中一些问题导致.NET框架抛出异常:

MultipartMemoryStreamProvider streamProvider = new MultipartMemoryStreamProvider();
await Request.Content.ReadAsMultipartAsync(streamProvider); 

"Message Error parsing MIME multipart body part header byte 156 of data segment System.Byte[]."

我不知道该怎么处理那个。

你知道是哪个“客户端浏览器”吗?它发送了用户代理吗? - spender
我认为为不兼容的用户代理编写代码不是网页开发人员的工作。 - spender
1个回答

1
尝试检查请求中的Content-Type。
Content-Disposition:  
form-data;  
name="imagefile";  
filename="C:\Users\Pictures\sid.png"  
Content-Type:  

(注意空白的Content-Type,应该是Content-Type: image/png)
// within WebAPI you can use code below to log the request body
string requestBody = await Request.Content.ReadAsStringAsync();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接