对于web下的上传,实际上更多的时候不用上传太大东西,asp.net默认的上传组件足够用了,美中不足就是没有上传进度反映,所以现在要做的就是在asp.net默认的上传基础上加上进度反映。

关于web上传的原理,曾在以前有深入分析过《asp无组件上传进度条解决方案》《Asp无组件上传带进度条(续) 》,并有写过asp版的无组件上传进度条,在这里就不多赘述。相信很多人都看过思归发的《用ASP.NET上传大文件》,解决的方法是利用隐含的HttpWorkerRequest,用它的GetPreloadedEntityBody 和 ReadEntityBody方法从IIS为ASP.NET建立的pipe里分块读取数据,对于每块分块进行分析并存储为临时文件,相对比较复杂。

要实现进度条的实时反映,核心的技术就是对上传的数据进行“分块”读取,在读取每块数据时记录当前已上传的块数,根据分块的大小,即可知道已上传的大小,根据总大小,即可知道当前上传的进度。具体的技术还是利用隐含的HttpWorkerRequest,用它的GetPreloadedEntityBody 和 ReadEntityBody方法从IIS为ASP.NET建立的pipe里分块读取数据,只不过仅仅是分块和记录已上传块数而已,用不着对已上传的数据进行分析和处理,因为这部分复杂的工作已经由asp.net的上传组件给我们做了。

根据上面所述的原理,具体代码相对很简单,我写了一个例子,用一个专门的进度显示页面(Progress.aspx),通过定时刷新(XmlHttp, FF支持)来获取当前上传的进度信息,并实时反映到上传页面上。

代码下载(解压后给web目录设置虚拟目录为“Upload”即可),其中进度条我是用脚本来实现的,单独的进度条脚本代码:
http://www.webuc.net/myproject/progressbar/progressinfo.htm
http://www.webuc.net/myproject/progressbar/progressbar.rar

让asp.net默认的上传组件支持进度条反映(转)相关推荐

  1. asp.net mvc 实现上传文件带进度条

    本文乃是博主早期写的,此种思路虽然实现了,但固然不是最好的,仅做参考学习. 可以用js onprogress .fileinput .webuploader.jq ajaxsubmit等实现 思路:a ...

  2. 分享一个react 图片上传组件 支持OSS 七牛云

    react-uplod-img 是一个基于 React antd组件的图片上传组件 支持oss qiniu等服务端自定义获取签名,批量上传, 预览, 删除, 排序等功能 需要 react 版本大于 v ...

  3. SpringMVC +layui 实现多文件上传,附加进度条

    首先在进行文件上传操作的时候,你得对layui 中文件上传的一些参数先了解一下,不要网上复制粘贴,起码你要对layui 文件上传的必备参数做一些大致掌握,也是自己学习. (1) 首先你得引入layui ...

  4. php带截切图片上传_PHP大文件切割上传并带进度条功能示例

    本文实例讲述了PHP大文件切割上传并带进度条功能.分享给大家供大家参考,具体如下: 前面一篇介绍了PHP大文件切割上传功能,这里再来进一步讲解PHP大文件切割上传并带进度条功能. 项目结构图: 14- ...

  5. 异步上传文件显示进度条

    异步上传文件显示进度条 原文地址:异步上传文件显示进度条 问题 我们在写网站时难免会遇到需要上传文件的场景,但当上传大文件时比如5个G的文件直接用表单直接提交文件会出现页面卡顿.未响应等影响用户体验的 ...

  6. java mvc上传文件进度_java相关:springMVC+ajax实现文件上传且带进度条实例

    java相关:springMVC+ajax实现文件上传且带进度条实例 发布于 2020-7-5| 复制链接 本篇文章主要介绍了springMVC+ajax实现文件上传且带进度条实例,具有一定的参考价值 ...

  7. java进度条_Java web实时进度条整个系统共用(如java上传、下载进度条、导入、导出excel进度条等)...

    先上图: 文件上传的: 2017-05-04再次改进.在上传过程中用户可以按 Esc 来取消上传(取消当前上传,或者是全部上传)... 2019-03-26更新进度条显示体验 从服务器上压缩下载: 从 ...

  8. ServletFileUpload上传文件带进度条

    ServletFileUpload上传文件带进度条 涉及了两个架包:commons-io-2.0.1.jar,commons-fileupload-1.2.2.jar,还有一个jquery-2.2.4 ...

  9. ASP.Net上传文件带进度条、显示剩余时间!

    近段时间因为开发隐私存储网站,采用ASP.Net 2.0在处理上传文件,因为上传的文件比较大,为了改善用户体验,所以自己重写了ASP.Net 的标准上传控件,实现显示进度条,百分比,平均速度,剩余时间 ...

最新文章

  1. html实现带有数字的列表,纯CSS实现雨滴形状的数字序号列表
  2. C++_类和动态内存分配2-改进后的String类
  3. Spring3 MVC Login Interceptor(Spring 拦截器)
  4. 威斯康星大学计算机专业找工作,威斯康星麦迪逊大学计算机申请条件有哪些?...
  5. 数据库缓存双写一致性的一些个人想法
  6. $.ajax与$.post、$.get的区别
  7. FPGA设计入门-----1位全加器的设计
  8. GitLab之Runner注册K8S
  9. 学计算机段子,段子手要失业了,计算机也懂幽默
  10. php画图取色,图片取色,涂抹代码,Python交流,技术交流区,鱼C论坛 - Powered by Discuz!...
  11. JS 中 0/1 与 true/false 是否相等
  12. Houdini 使用Python设置Preference
  13. ueditor 图片上传 java_Spring+Vue整合UEditor富文本实现图片附件上传的方法
  14. 【化解数据结构】详解字典结构,并实现一个字典
  15. 《为爱而生》 | 第一集:遇见学姐
  16. 计算机专业找工作面试专科,计算机专业专科生自我评定
  17. (建议收藏)一文多图,彻底搞懂Floyd算法(多源最短路径)
  18. NOIP提高组2016 D1T2 【天天爱跑步】
  19. H5+CSS3之变型
  20. 聊天机器人集成PC端微信

热门文章

  1. 解决ie9兼容性问题之js无法加载
  2. ironic驱动-IMPITool
  3. 求单独出现的数,冒泡排序优化,strncpy的优化
  4. The j.u.c Synchronizer Framework翻译(三)使用、性能与总结
  5. 在Vmware中安装Hyper-V
  6. java下使用Thumbnailator类库来对图片进行缩放
  7. 在SQL2000怎樣用動態實現SQL2005的nvarchar(max)功能
  8. 判断变量是否为数组的几种方法
  9. docker swarm英文文档学习-8-在集群中部署服务
  10. ECMA Script 6新特性之解构赋值