多文件上传组件FineUploader使用心得
做Web开发的童鞋都知道,需要经常从客户端上传文件到服务端,当然,你可以使用<input type="file"/>来上传文件,这是Asp.Net默认的上传文件元素。但是,受到系统的限制,如果要更改file元素的样式,让他看起来 美观一些,这就比较费劲了,当然可能是本人css功夫没到家吧,总之试了几次,也没能达到想要的效果。最终,就决定用第三方插件吧。由于项目组成员之前都 用的是FileUploader,所以就毫不犹豫的拿来用了一下。
先附上一张整体的布局以及FileUpload呈现的效果。

脚本引进来之后,就可以创建FileUploader对象了。本文主要说这次使用过程中遇到的问题,具体用法就不细说了。具体用法这位哥儿们说的非常详细了,Fine Uploader。
在上传过程中,我发现一个非常奇怪的现象,上传较小一点的文件,一点问题都没有,非常顺利,可是在我偶然上传了一个稍微大一点的文件(50M),这时候就 出现问题了,这时候会一直在那里转圈,进度一直都是0%,这样反复了几次,我发现当上传不超过24M左右的文件时,都没有问题,可是一旦超过了,就出现上 述的问题,上传就中止了。由于上传文件只是大小不一样导致的问题,所以肯定是哪里做了限制导致了这个问题。检查了一遍程序,发现有两个地方对文件的大小做 了限制,一个是配置文件中做了如下的配置:
<httpRuntime requestValidationMode="2.0" executionTimeout="90" maxRequestLength="2147483" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" />
可是配置文件此处文件大小是以K为单位的,意思就是此处限制的大小为2147483/1024=2097M,约为2个G,远远大于24M,所以应该不是 此处引起的问题。然后我又看了一下脚本中上传文件时的限制,FineUploader本身也可以对文件的后缀和文件的大小做限制,通过如下配置:
validation: {
allowedExtensions: ['jpeg', 'jpg', 'gif', 'png'],
sizeLimit: 1048576 // 100 M = 100 * 1024 bytes*1024
}
在这里对大小做了100M的控制,所以分析了一下也不可能是这里引起的问题,那么会使哪里引起的问题呢?
我再次拿了一个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=""></requestLimits>
</requestFiltering>
</security>
</system.webServer>

至此,问题解决。写这篇文章的目的有两个:一,如果你遇到了这个问题,可以很快的帮你解决问题;二,希望大家能一起学习,学习解决问题的能力!说到这里,想起了他人的一句名言:方法总比问题多!只要肯思考,总会有解决的办法的!
多文件上传组件FineUploader使用心得的更多相关文章
- Atitit..文件上传组件选型and最佳实践总结(3)----断点续传控件的实现
Atitit..文件上传组件选型and最佳实践总结(3)----断点续传控件的实现 1. 实现思路:::元插件,元设置... 1 2. 实现流程downzip,unzip,exec 1 3. Zip ...
- Atitit..文件上传组件选型and最佳实践总结(2)----断点续传
Atitit..文件上传组件选型and最佳实践总结(2)----断点续传 1. 断点续传的原理 1 2. 如何判断一个插件/控件是否支持断点续传?? 1 3. 常用的组件选型结果::马 1 4. 自定 ...
- 异步文件上传组件 Uploader
Uploader是非常强大的异步文件上传组件,支持ajax.iframe.flash三套方案,实现浏览器的全兼容,调用非常简单,内置多套主题支持 和常用插件,比如验证.图片预览.进度条等,广泛应用于淘 ...
- ASP中文件上传组件ASPUpload介绍和使用方法
[导读]要实现该功能,就要利用一些特制的文件上传组件.文件上传组件网页非常多,这里介绍国际上非常有名的ASPUpload组件 1 下载和安装ASPUpload 要实现该功能,就要利用一些特制的文件上 ...
- Atitit..文件上传组件选择and最佳实践的总结(2)----HTTP
Atitit..文件上传组件选型and最佳实践总结(2)----断点续传 1. 断点续传的原理 1 2. 怎样推断一个插件/控件是否支持断点续传?? 1 3. 经常使用的组件选型结果::马 1 4. ...
- 文件上传组件FileUpload 以及邮箱搭建JavaMail
文件上传与下载 1.1 文件上传 案例: 注册表单/保存商品等相关模块! --à 注册选择头像 / 商品图片 (数据库:存储图片路径 / 图片保存到服务器中指定的目录) 文件上传,要点: 前台: 1 ...
- Baidu WebUploader 前端文件上传组件的使用
简介 WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流I ...
- BootStrap fileinput.js文件上传组件实例代码
1.首先我们下载好fileinput插件引入插件 ? 1 2 3 <span style="font-size:14px;"><link type="t ...
- Bootstrap fileinput.js,最好用的文件上传组件
本篇介绍如何使用bootstrap fileinput.js(最好用的文件上传组件)来进行图片的展示,上传,包括springMVC后端文件保存. 一.demo 二.插件引入 <link ty ...
随机推荐
- 如何正确的在java web配置数据池
在tomcat context.xml中配置数据 <Context reloadable="true"> <!-- Default set of monitore ...
- float与position
使用float会使块级元素的宽高表现为包裹内容(在不设定宽高的情况下) 这是当然的 我们使用float就是使几个div排在一行 当然不可能在宽度上撑满父元素啦 至于高度 不论有没有float 高 ...
- position relative和absolute区别
看这个博客 说的很详细http://blog.sina.com.cn/s/blog_647a022e0101b2gn.html 总的来说 这两个属性都是通过增加left和right偏离原来的位置 但 ...
- HDU p1294 Rooted Trees Problem 解题报告
http://www.cnblogs.com/keam37/p/3639294.html keam所有 转载请注明出处 Problem Description Give you two definit ...
- [每日一题] 11gOCP 1z0-052 :2013-09-14 repeated parsing activity.................................A70
转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/11699299 正确答案:D SQL语句的执行过程: 1.客户端输入sql语句update ...
- Robot Framework学习路线
0. 官方网站 http://robotframework.org/ 所有资料都来自这里,从这里找到必要的链接,从而深入其中的细节. 1. Quick Start Guide https://co ...
- 【第三方SDK】百度地图实现最简单的定位功能(无地图界面)
在近期的项目中,须要实现无地图界面的定位功能,定位用户所在的城市.因此,本篇文章,主要介绍怎样使用百度地图SDK实现无导航界面的定位功能. 1.申请百度开发人员账户 2.创建应用,获取key 例如以下 ...
- Eucalyptus和Openstack最近版本的改动简单对比
Eucalyptus3.3四月底发布的,Q4会发布3.4,最新代码都可以在Github上获得 3.3里主要加入的东西有: Auto Scaling 自动扩展,虚拟机资源随需要实时变更 ELB 负载均衡 ...
- c++11 stl atomic_flag 样例
Author:DriverMonkey Mail:bookworepeng@Hotmail.com Phone:13410905075 QQ:196568501 測试环境:Win7 64 bit 编译 ...
- ThinkPHP - 自动创建 + 自动验证 + 自动完成
自动创建:创建数据模型. $User->create(); 自动验证:验证提交的表单数据. protected $_validate = array( array('verify','requi ...