多文件上传组件FineUploader使用心得

        作Web开发的童鞋都知道,须要常常从客户端上传文件到服务端,固然,你可使用<input type="file"/>来上传文件,这是Asp.Net默认的上传文件元素。可是,受到系统的限制,若是要更改file元素的样式,让他看起来美观一些,这就比较费劲了,固然多是本人css功夫没到家吧,总之试了几回,也没能达到想要的效果。最终,就决定用第三方插件吧。因为项目组成员以前都用的是FileUploader,因此就坚决果断的拿来用了一下。css

         先附上一张总体的布局以及FileUpload呈现的效果。html

      脚本引进来以后,就能够建立FileUploader对象了。本文主要说此次使用过程当中遇到的问题,具体用法就不细说了。具体用法这位哥儿们说的很是详细了,Fine Uploader
git

      在上传过程当中,我发现一个很是奇怪的现象,上传较小一点的文件,一点问题都没有,很是顺利,但是在我偶然上传了一个稍微大一点的文件(50M),这时候就出现问题了,这时候会一直在那里转圈,进度一直都是0%,这样反复了几回,我发现当上传不超过24M左右的文件时,都没有问题,但是一旦超过了,就出现上述的问题,上传就停止了。因为上传文件只是大小不同致使的问题,因此确定是哪里作了限制致使了这个问题。检查了一遍程序,发现有两个地方对文件的大小作了限制,一个是配置文件中作了以下的配置:web

 <httpRuntime requestValidationMode="2.0" executionTimeout="90" maxRequestLength="2147483" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" />
View Code

       但是配置文件此处文件大小是以K为单位的,意思就是此处限制的大小为2147483/1024=2097M,约为2个G,远远大于24M,因此应该不是此处引发的问题。而后我又看了一下脚本中上传文件时的限制,FineUploader自己也能够对文件的后缀和文件的大小作限制,经过以下配置:app

  validation:   {  
allowedExtensions: ['jpeg', 'jpg', 'gif', 'png'], 
sizeLimit: 1048576 // 100 M = 100 * 1024 bytes*1024   
}
View Code

      在这里对大小作了100M的控制,因此分析了一下也不多是这里引发的问题,那么会使哪里引发的问题呢?ide

      我再次拿了一个50M的文件试了一下,仍然上传不成功,此次我打开了Chrome的调试工具,看了一下Request信息和Response信息,注意,这里有些CHrome版本可能看不到此错误信息。"HTTP Error 404.13 - Not Found“,对,竟然是404!咱们都知道404错误是未找到请求的页面,那么这里怎么会报这个错误呢?因而Google了一下,原来不少人出现过这个问题:缘由就是上传文件过大。这是原帖,有兴趣的童鞋能够看一下。既然知道了出错的缘由,那么解决起来也就不难了,在Web Config里添加以下的配置:工具

<system.webServer>
   <modules runAllManagedModulesForAllRequests="true"/>         <security>
 <requestFiltering> 
<requestLimits maxAllowedContentLength="512000"></requestLimits> 
</requestFiltering>
 </security> 
</system.webServer> 
View Code

      至此,问题解决。写这篇文章的目的有两个:一,若是你遇到了这个问题,能够很快的帮你解决问题;二,但愿你们能一块儿学习,学习解决问题的能力!说到这里,想起了他人的一句名言:方法总比问题多!只要肯思考,总会有解决的办法的!    布局

相关文章
相关标签/搜索