为什么上传的excel文件的内容类型在ASP MVC 4.0中更改为mac上的application / octet-stream?

时间:2013-02-27 18:37:52

标签: asp.net-mvc macos excel content-type npoi

我有一点问题!我正在为客户端设计一个asp mvc 4应用程序,它应该导入和处理excel文件。要处理excel文件,我使用NPOI框架的C#版本。

我的客户端使用mac而我使用的是Windows。

在Windows上一切正常但是当我的客户端在他的Mac上尝试它时,它不再起作用了。在进行一些搜索后,我发现上传文件的内容类型是从mac上传时的“application / octet-stream”(从windows上传时反对“application / vnd.ms-excel”)。

我们使用完全相同的文件,唯一的区别是我的客户端文件保存在Mac上,我的是在Windows PC上(我们都从谷歌文档获得了相同的文件)。

当他在带有保存在mac上的文件的Windows PC上尝试时遇到同样的错误时,它变得更加怪异。

有人知道发生了什么吗?或者当内容类型为“application / octet-stream”时,如何使NPOI处理工作?

1 个答案:

答案 0 :(得分:0)

浏览器可以自由选择要发送的内容类型。它甚至可以发送“蓬松/字节”,如果它想要,你不能做任何事情。似乎Mac上的Safari不知道Excel文件是什么,因此它不会发送Excel内容类型。

什么是NPOI?为什么您的应用程序需要要设置的内容类型?您可以通过查看已发布的文件扩展名来识别这是一个Excel文件。如果内容类型不是扩展名(完全可能),则只能通过文件内容进行猜测。