当我尝试打开附件.xsn文件时,收到以下错误消息。
“Infopath无法创建新的空白表单。该文件不是有效的XML文件。”
我用过
Response.ContentType = "application/x-microsoft-InfoPathFormTemplate";
Response.AppendHeader("Content-Disposition", string.Format("attachment; filename=filenam1.xsn");
你能否告诉我这里可能出现的问题?
谢谢。
答案 0 :(得分:0)
这是问题所在。
当您使用IE(IE 10,在我的情况下)时,文件永远不会被实际下载。相反,IE将InfoPath作为子进程生成,提供主机页面的URL作为参数。
因为您正在使用Response.TransmitFile(或类似),所以主页的URL与表单模板的URL不匹配。您收到无效的xml错误,因为InfoPath正在尝试将您的网页的HTML解析为表单模板。
它出现了
There's very little you can do about this, from the IE perspective。从链接:
3)在IE中,决定如何显示内容的方法查看mime类型,文件的第一个字节,扩展名和注册表设置。如果你的内容看起来像HTML,那就是它的显示方式。
5)这个问题没有已知的解决方案,所以你必须忍受它。
6)内容处理对问题没有影响。
我的建议是,如果可能的话,通过HTTP处理程序或其他机制公开表单模板的实际URL,除非有人知道更好的解决方案。