无法打开.xsn文件

时间:2012-12-04 18:25:33

标签: c# asp.net sharepoint infopath

当我尝试打开附件.xsn文件时,收到以下错误消息。

“Infopath无法创建新的空白表单。该文件不是有效的XML文件。”

我用过

Response.ContentType = "application/x-microsoft-InfoPathFormTemplate";
Response.AppendHeader("Content-Disposition", string.Format("attachment; filename=filenam1.xsn");

你能否告诉我这里可能出现的问题?

谢谢。

1 个答案:

答案 0 :(得分:0)

这是问题所在。

当您使用IE(IE 10,在我的情况下)时,文件永远不会被实际下载。相反,IE将InfoPath作为子进程生成,提供主机页面的URL作为参数。

enter image description here

因为您正在使用Response.TransmitFile(或类似),所以主页的URL与表单模板的URL不匹配。您收到无效的xml错误,因为InfoPath正在尝试将您的网页的HTML解析为表单模板。

InfoPath is terrible

它出现了

There's very little you can do about this, from the IE perspective。从链接:

  

3)在IE中,决定如何显示内容的方法查看mime类型,文件的第一个字节,扩展名和注册表设置。如果你的内容看起来像HTML,那就是它的显示方式。

     

5)这个问题没有已知的解决方案,所以你必须忍受它。

     

6)内容处理对问题没有影响。

我的建议是,如果可能的话,通过HTTP处理程序或其他机制公开表单模板的实际URL,除非有人知道更好的解决方案。