我在维护一个网站,这个网站有一个上传照片到服务器的功能。以前是好用的。近来突然不可用的。通过单步执行进行调试,发现问题出在这一行:
HttpPostedFile m_File = Request.Files["PhotoFile"];
每次读取出来都是null值。
我开始检查了几处都没有发现问题:1、Form表单中的encType属性没问题;2、input空间的runat属性没问题。
<form id="Form1" method="post" encType="multipart/form-data" runat="server">
<input id="PhotoFile" name="PhotoFile" type="file" size="40" runat="server">
</form>后来我又怀疑的编码问题,最后我把问题集中在了web.config文件中。里面有一个配置信息引起了我的怀疑:
<httpModules>
<add name="WebbHttpModule" type="Webb.WAVE.Controls.Upload.WebbHttpModule, Webb.WAVE.Controls.Upload"/>
</httpModules>这个是因为有一个同事更新程序时引入的一个关于上传的组件Webb.WAVE.Controls.Upload.dll,这个组件的应用需要在web.config文件里加入这一行配置信息。我删除了这行信息调试通过了。
原来Webb.WAVE.Controls.Upload.dll改变了文件上传的模式。问题终于解决了。所以告诫朋友们,Webb.WAVE.Controls.Upload.dll和HttpPostedFile是不能混合使用的。
本文介绍了一个网站上使用Webb.WAVE.Controls.Upload.dll组件后,出现无法正常上传照片的问题及解决方案。作者通过调试发现该组件与默认的HttpPostedFile上传方式存在冲突,并最终移除了该组件解决了问题。
534

被折叠的 条评论
为什么被折叠?



