天天看点

HtmlInputFile的上传文件功能失效了

 我在维护一个网站,这个网站有一个上传照片到服务器的功能。以前是好用的。近来突然不可用的。通过单步执行进行调试,发现问题出在这一行: 

HtmlInputFile的上传文件功能失效了

HttpPostedFile m_File  =  Request.Files[ " PhotoFile " ];

HtmlInputFile的上传文件功能失效了

每次读取出来都是null值。

我开始检查了几处都没有发现问题:1、Form表单中的encType属性没问题;2、input空间的runat属性没问题。 

HtmlInputFile的上传文件功能失效了

< form  id ="Form1"  method ="post"  encType ="multipart/form-data"  runat ="server" >                         

HtmlInputFile的上传文件功能失效了

< input  id ="PhotoFile"  name ="PhotoFile"  type ="file"  size ="40"  runat ="server" >

HtmlInputFile的上传文件功能失效了
HtmlInputFile的上传文件功能失效了

</ form >

后来我又怀疑的编码问题,最后我把问题集中在了web.config文件中。里面有一个配置信息引起了我的怀疑:

HtmlInputFile的上传文件功能失效了

< httpModules >

HtmlInputFile的上传文件功能失效了

     < add  name ="WebbHttpModule"  type ="Webb.WAVE.Controls.Upload.WebbHttpModule, Webb.WAVE.Controls.Upload" />

HtmlInputFile的上传文件功能失效了

</ httpModules >

这个是因为有一个同事更新程序时引入的一个关于上传的组件Webb.WAVE.Controls.Upload.dll,这个组件的应用需要在web.config文件里加入这一行配置信息。我删除了这行信息调试通过了。

原来Webb.WAVE.Controls.Upload.dll改变了文件上传的模式。问题终于解决了。所以告诫朋友们,Webb.WAVE.Controls.Upload.dll和HttpPostedFile是不能混合使用的。