- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
随笔- 193? 文章- 2? 评论- 147? IHttpModule 分块上传大文件?IHttpModule 分块上传大文件 来源:/HeroBeast/archive/2008/03/18/1084874.html1.一般的在A里上传文件都是10m左右,要做到大文件上传,必须要改web.config,不过改了web.config有时候也上传不成功,那是每次上传的文件太大,浏览器在这个过程中会超时,采用分块上传的方法就可以避免这种情况。2.分块上传就是利用post的方法,把数据分块上传,每块上传的数据量少,不会引起超时的问题。不说了,看代码吧。using?System;using?System.Data;using?System.Configuration;using?System.Web;using?System.Web.Security;using?System.Web.UI;using?System.Web.UI.HtmlControls;using?System.Web.UI.WebControls;using?System.Web.UI.WebControls.WebParts;using?System.IO;using?System.Reflection;using?System.Threading;using?System.Text;using?System.Globalization;///?summary///?实现IHttpModule接口///?/summarypublic?class?HttpUploadModule?:?IHttpModule{????public?HttpUploadModule()????{????}????public?void?Init(HttpApplication?application)????{????????//订阅事件????????application.BeginRequest?+=?new?EventHandler(this.Application_BeginRequest);????}????public?void?Dispose()????{????}????private?void?Application_BeginRequest(Object?sender,?EventArgs?e)????{????????HttpApplication?app?=?sender?as?HttpApplication;????????HttpWorkerRequest?request?=?GetWorkerRequest(app.Context);????????Encoding?encoding?=?app.Context.Request.ContentEncoding;????????int?bytesRead?=?0;??//?已读数据大小????????int?read;???????????//?当前读取的块的大小????????int?count?=?8192;???//?分块大小????????byte[]?buffer;??????//?保存所有上传的数据????????if?(request?!=?null)????????{????????????//?返回?HTTP?请求正文已被读取的部分。????????????byte[]?tempBuff?=?request.GetPreloadedEntityBody();?//要上传的文件????????????//?如果是附件上传????????????if?(tempBuff?!=?null??IsUploadRequest(app.Request))????//判断是不是附件上传????????????{????????????????//?获取上传大小????????????????//?????????????????long?length?=?long.Parse(request.GetKnownRequestHeader(HttpWorkerRequest.HeaderContentLength));????????????????buffer?=?new?byte[length];????????????????count?=?tempBuff.Length;?//?分块大小????????????????//?将已上传数据复制过去????????????????//????????????????Buffer.BlockCopy(tempBuff,??//源数据????????????????????0,??????????????????????//从开始读???????????
您可能关注的文档
最近下载
- 心理健康教育对青少年学习动力的影响.pptx VIP
- 基于财务共享模式下的财务风险管理—以海尔集团为例.doc VIP
- 初一学生期中家长会优质课件.ppt
- 中国华电集团发电运营有限公司招聘笔试题库2024.pdf
- 物流服务师(高级工)职业技能鉴定考试及答案.doc VIP
- 2024年浙江省中考数学试卷(附答案).pdf
- 人教版九年级全册英语Unit 14大单元整体教学设计.docx
- 4.11.1《探问人生目标》课件人教统编版道德与法治七年级上册2024新教材.pptx
- JB∕T 10923-2020 电能表用磁保持继电器.pdf
- 2018年版《广东省安装工程定额说明及计算规则》C.5 建筑智能化工程.pdf
文档评论(0)