诊断文件上传失败ASP.NET
问题描述:
在ASP.NET应用程序中,用户在尝试上载文件时很难。 该应用程序是由约30人通过1Mb光纤专线访问服务器。诊断文件上传失败ASP.NET
文件上传实现似乎没有问题,因为问题不会偶尔发生。也我已经尝试上传大文件(高达50 Mb),我没有任何问题。
所以我假设问题必须在网络连接上,有些日子必须有某种带宽问题。
如何有效诊断问题的根本原因?
谢谢。
答
fileupload模块中充满了大量的try catch块,因此显示在log4net日志文件上的消息是开发人员提供的错误消息。在一步一步地尝试重现问题后,我们得到了错误信息来自系统的部分“该文件无法保存,因为它超过了50个字符”,但该文件大约为40个字符。开发人员在文件名上使用函数Server.HTMLEncode来将名称存储在数据库中,但是当文件具有特殊字符时,由于文本编码,文件名有时会超过50个字符。解决方法是通过一些字符增加文件名的大小,并且在验证文件名时,我们使用HTML验证了长度,并且警告用户减少超过x个字符数以使文件有效。
答
你记录你的例外吗?对于ASP.NET
如果没有,你可以看看Web服务器的事件日志。
错误可能是上传Web服务器的限制和安全问题。
我们已经使用log4net,但由于其中一个开发人员用很多try catch块填充了fileupload模块,日志消息并不是那么有用。最终,我们通过逐步调试应用程序来解决问题,并找出原因。 – 2012-07-26 09:37:23
编码文件名异常。解决问题后,我分享你的感受:) – emremp 2012-07-31 19:46:06