2010-09-23 30 views
2

我正在从ASP.Net下载一个xml字符串,并希望它在MS Office Infopath中打开。我将ContentType设置为“application/ms-infopath.xml”(不确定从哪里得到)。Response.ContentType是如何工作的?

在某些机器上,其他人可以在浏览器或Visual Studio或其他xml编辑器中打开xml,尽管存在Infopath。

  1. 谁保留有效的内容类型列表?
  2. 操作系统或浏览器用它做什么?
  3. 我该如何强制这个XML在我选择的程序(Infopath)中打开?

回答

1

我知道这个问题真的很老,但我有同样的问题。

我拖着窗户上的所有文件类型,试图找到一个只在infopath中打开的文件类型 - 实际上只有一个! Office的每个默认安装都将文件扩展名“.infopathxml”设置为使用infopath打开。因此,只需将您的file = content_disposition标头的一部分设置为“whatever.infopathxml”即可。

XML没有映射到任何默认程序,但往往会在任何一个人最后打开使用(通常是IE的浏览器或Visual Studio),但几乎没有人会改变什么.infopathxml文件打开英寸

据我了解,它仍然留给最终用户。内容类型指定应该如何读取和验证数据,但是直到最终用户将哪个扩展映射到哪个程序。您不能强制xml在一个程序中打开,而是要指定一个zip文件应该在哪个zip程序中打开......您唯一可以做的就是使用文件扩展名,该扩展名对于该程序几乎肯定是唯一的,例如作为.infopathxml在这种情况下。

+0

即使2年后,这也是一个很好的答案。谢谢!但仍想知道更多信息,比如我如何注册新的扩展,纯粹是浏览器向操作系统请求处理扩展的应用程序,等等。 – Graeme 2012-05-16 10:50:18

+0

很好的答案,谢谢。这真的帮助了我。你摇滚! – Jesse 2013-01-17 18:55:07