InfoPath的上传附件控件在MOSS中失效的解决办法

前几日需要在Infopath中保存文件,但是发现在web方式下只要上传文件,就产生如下提示(找不到所选文件):

InfoPath的上传附件控件在MOSS中失效的解决办法_第1张图片

假设你的MOSS2007是默认安装。

首先,打开工作流的workflow.xml文件,定位到<Workflow>节点。查看此节点下的此三个属性的值,
         AssociationUrl="_layouts/CstWrkflIP.aspx"
         InstantiationUrl="_layouts/IniWrkflIP.aspx"
         ModificationUrl="_layouts/ModWrkflIP.aspx"


然后在以下目录中定位这三个文件:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\ 12 \TEMPLATE\LAYOUTS

依此打开这些文件,查看他们的master文件。往往他们是这么来描述的:
MasterPageFile = " ~/_layouts/application.master "

然后定位到这个文件,打开它,然后定位到<form>标签,添加一个属性, enctype="multipart/form-data"。然后的结果类似于这个:
< form  runat ="server"  onsubmit ="return _spFormOnSubmitWrapper();"  enctype ="multipart/form-data" >

接着保存,再重新启动IIS(必须要重启,否则会出现未知错误的提示,我想应该是MOSS的内部文件验证机制的问题)

修改后,文件即可以正常上传了
InfoPath的上传附件控件在MOSS中失效的解决办法_第2张图片


背景知识:
让我们来看看“multipart/form-data”属性在W3C里的定义吧。
The content type  " application/x-www-form-urlencoded "  is inefficient for sending large quantities of binary data or text containing non-ASCII characters. The content type  " multipart/form-data "  should be used for submitting forms that contain files ,  non-ASCII data ,  and binary data.
可见这个属性的功能是打开表单在上传中可能存在的非ASCII数据。比如照片、word文档等二进制数据。

你可能感兴趣的:(InfoPath的上传附件控件在MOSS中失效的解决办法)