




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、BootStrap Progressbar 实现大文件上传的进度条的实例代码_ 这篇文章主要介绍了BootStrap Progressbar 实现大文件上传的进度条的实例代码的相关资料,特别不错,具有参考借鉴价值,需要的伴侣可以参考下 1.首先实现大文件上传,假如是几兆或者几十兆的文件就用基本的上传方式就可以了,但是假如是大文件上传的话最好是用分片上传的方式。我这里主要是用法在客户端进行分片读取到服务器段,然后保存,到了服务器段读取完了之后将分片数据进行组合。 2.前端代码如下: % Page Language=C# AutoEventWireup=true CodeBehind=Upload
2、Test2.aspx.cs Inherits=Html5UploadTest.UploadTest2 % html lang=zh-CN head meta charset=utf-8 titleHTML5大文件分片上传示例/title script src=Scripts/jquery-1.8.2.js/script link href=bootstrap-progressbar/bootstrap-progressbar-3.3.4.css rel=stylesheet / script src=bootstrap-progressbar/bootstrap-progressbar.js/
3、script %-link href=JqueryUI/jquery-ui.css rel=stylesheet / script src=JqueryUI/jquery-ui.js/script-% script function uploadFile() $(#upload).attr(disabled, disabled); var file = $(#file)0.files0, /文件对象 fileNum = $(#file)0.files0.length, name = , /文件名 size = file.size, /总大小 succeed = 0; var
4、shardSize = 2 * 1024 * 1024, /以2MB为一个分片 shardCount = Math.ceil(size / shardSize); /总片数 $(.progress .progress-bar).attr(data-transitiongoal, 0).progressbar( display_text: fill ); for (var i = 0; i shardCount; +i) /计算每一片的起始与结束位置 var start = i * shardSize, end = Math.min(size, start + shardSize); /构造一个
5、表单,FormData是HTML5新增的 var form = new FormData(); form.append(data, file.slice(start, end); /slice方法用于切出文件的一部分 form.append(name, name); form.append(total, shardCount); /总片数 form.append(index, i + 1); /当前是第几片 /Ajax提交 $.ajax( url: Upload.ashx, type: POST, data: form, async: true, /异步 processData: false,
6、 /很重要,告诉jquery不要对form进行处理 contentType: false, /很重要,指定为false才能形成正确的Content-Type success: function () +succeed; $(#output).text(succeed + / + shardCount); var percent = (succeed / shardCount).toFixed(2) * 100; updateProgress(percent); if (succeed = shardCount) $(#upload).removeAttr(disabled); ); funct
7、ion progress(percent, $element) var progressBarWidth = percent * $element.width() / 100; $element.find(div).animate( width: progressBarWidth , 500).html(percent + % ); /$(document).ready(function () / $(.progress .progress-bar).progressbar( display_text: fill ); /); function updateProgress(percentag
8、e) $(.progress .progress-bar).attr(data-transitiongoal, percentage).progressbar( display_text: fill ); /script /head body input type=file id=file / button id=upload onclick=uploadFile();上传/button span id=output style=font-size: 12px等待/span div class=progress div id=progressBar class=progress-bar rol
9、e=progressbar data-transitiongoal=/div /div /body /html 3. 后台一般处理程序如下: using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Web; namespace Html5UploadTest / summary / Summary description for Upload / /summary public class Upload : IHttpHandler public void
10、ProcessRequest(HttpContext context) context.Response.ContentType = text/plain; try /从Request中取参数,留意上传的文件在Requst.Files中 string name = context.Requestname; int total = Convert.ToInt32(context.Requesttotal); int index = Convert.ToInt32(context.Requestindex); var data = context.Request.Filesdata; /保存一个分
11、片到磁盘上 string dir = context.Request.MapPath(/temp); string file = Path.Combine(dir, name + _ + index); data.SaveAs(file); /假如已经是最终一个分片,组合 /当然你也可以用其它方法比如接收每个分片时挺直写到最终文件的相应位置上,但要掌握好并发防止文件锁冲突 if (index = total) file = Path.Combine(dir, name); /byte bytes = null; using (FileStream fs = new FileStream(file, FileMode.OpenOrCreate) for (int i = 1; i = total; +i) string part = Path.Combine(dir, name + _ + i); /bytes = System.IO.File.ReadAllBytes(part); /fs.Write(bytes, 0, bytes.Length); /bytes = null; System.IO.File.Delete(part); fs.Close(); catch (Exception) th
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025重庆丰都县中医院招聘4人考试含答案
- 企业多元化人才管理和优化方案
- 企业网络安全数据挖掘与防范规定
- 酒店客房送餐菜单规定
- 制定品牌故事传播策略增强品牌亲和力
- 信息泄露实验总结
- 果园管理的健康树干处理技巧
- 2025咸阳市秦都区丝路花城小学教师招聘笔试备考试题及答案解析
- 2025年精神科学科抑郁症患者自杀风险评估考试答案及解析
- 地产销售经营规程
- 中国驻外领使馆地区分类
- 粘多糖贮积症专家讲座
- 煤矿群监员培训
- 教学课件 国际结算(第七版)苏宗祥
- 大学英语四级写作技巧及模板
- 成都燃气公司招聘笔试题
- 某铁路站房钢筋工程技术交底
- SMM英国建筑工程标准计量规则中文版全套
- 颈动脉保护装选择
- 水泥熟料生产工艺及设备课件
- 学前卫生学第二章课件
评论
0/150
提交评论