2012年2月25日

测试

摘要: 在测试时,请在C: 盘根目录下建一个名为myupload目录用于存放临时文件,同时在IIS中建一个名称myupload的虚拟目录,存放最终文件。需要保证Asp.net对这两个目录有对应的操作权限。同时,你也可以在Default.aspx.cs中,修改这两个目录。 阅读全文

posted @ 2012-02-25 16:45 vicky静 阅读(102) 评论(0) 推荐(0) 编辑

【转】Asp.NET大文件上传组件开发总结(六)---大文件上传组件使用说明

摘要: 1编写目的为了方便用户使用大文件上传组件,特写使用说明书,以指明调用组件的接口,操作流程和注意事项。2背景由于ASP.NET在上传文件时,是全部装入服务器内存,在上传文件时,消耗服务器资源较多,且不能提供上传进度显示,由于消耗服务器资源较多,所以ASP.NET上传文件时往往大小受到限制。此组件解决了所有这些问题3定义大文件:大文件主要意思是指大小不受限制,Web.config:是ASP.NET的配置文件。4功能所有需要用ASP.NET上传文件的地方,均可以使用本组件。本组件可以解除ASP.NET对上传文件大小的限制,同时提供上传进度提示,用户还可以选择中断上传过程。减少对服务器资源的消耗(经测 阅读全文

posted @ 2012-02-25 16:44 vicky静 阅读(169) 评论(1) 推荐(0) 编辑

【转】Asp.NET大文件上传组件开发总结(五)---上传进度信息的显示

摘要: 这几天又出去躲地震了,本来以为没什么了,让电视里的那些专家出来一吓,害得我又出去受了几天罪,这就象网上说的:比地震更可怕的是余震,比余震更可怕的是预报余震,比预报余震更可怕预报了余震却一直不震。所以这篇就写得迟了一些,今天打算回家睡了,所以随笔也就接到写了。首先先看看我做的上传进度信息显示效果吧:怎么样,就点象C/S效果吧。不过这里正象前面一位网友说的:这是靠不停的查询服务器来获得进度信息的,这一点对提高系统的并发度有影响。不过,我想:使用Asp.NET上传文件的应用系统,一般都不会有太多的并发用户,之所以要用Asp.NET上传文件主要是为了提高用户体验,简化系统部署和开发吧。在一般的信息化系 阅读全文

posted @ 2012-02-25 16:43 vicky静 阅读(172) 评论(0) 推荐(0) 编辑

【转】Asp.NET大文件上传组件开发总结(四)---封送数据给Asp.NET页面

摘要: 这个功能主要是为了不影响Asp.NET的处理模型,将请求中除上传的文件内容外的其它正常请求内容继续发送到Asp.NET页面处理。 我们通过分析HttpRequest对象的GetEntireRawContent()方法在读取数据,并且发现这个方法在读取数据时,是将数据赋值到了_rawContent属性,所以我们只要能把处理后的数据赋值给HttpRequest对象的_rawContent属性,即可封送数据给Asp.NET页面。同时,由于我们改写了请求内容,所以HttpRequest的_contentLength也应当改写。 由于这些属性方式是私有的,我们不能直接访问,所以我们必须采用反射的方法给属 阅读全文

posted @ 2012-02-25 16:42 vicky静 阅读(135) 评论(0) 推荐(0) 编辑

【转】Asp.NET大文件上传组件开发总结(三)---处理文件内容

摘要: 这一篇相对就要简单一些了,只需要确定对文件的处理思路和与Asp.NET页面信息的传递的问题。 .NET1.1中,Asp.NET将获取的请求内容放入到一个Byte[]类型中,但在Asp.NET2.0中,却将数据封装到一个类型为System.Web.HttpRawUploadedContent的对象中,在这个新对象中,有一个重要的属性:_file,这个属性的类型为TempFile。正好是这个类型提供了将请求内容保存到临时文件的功能。这些信息都可能通过Reflector工具反编译获得(所以啊,做.NET开发,这个工具是必备的)。 在HttpRequest类中,我们可以发现如下用于分析页面各控件值的代 阅读全文

posted @ 2012-02-25 16:42 vicky静 阅读(138) 评论(0) 推荐(0) 编辑

【转】Asp.NET大文件上传组件开发总结(二)---提取文件内容

摘要: 为了提供文件内容,我们需要首先需确定客户请求中发送的有文件内容,然后确定文件内容的位置。这部分对应的代码如下:1HttpApplicationapp=senderasHttpApplication;2HttpWorkerRequestrequest=GetWorkerRequest(app.Context);34if(!IsUploadRequest(app.Request))return;//不是文件上传,则退出56stringsContentType=app.Request.ContentType.ToLower();7byte[]arrBoundary=GetMultipartBound 阅读全文

posted @ 2012-02-25 16:41 vicky静 阅读(143) 评论(0) 推荐(0) 编辑

【转】Asp.NET大文件上传开发总结(一)

摘要: 以前开发过一个用Asp.NET上传大文件的代码,由于是在NET1.1下开发的,发现不能在NET.20下运行,前几天将这个问题解决了,现在把整个开发过程整理一下,供大家参考。由于内容较多,所以我打算分成六篇来写,第一篇写一下需要解决的问题和大致解决思路,再用四篇具体写一下开发中需要解决的四个主要问题,最后再写一个组件的使用方法。 1、 问题提出:使用Asp.NET在上传文件时,IIS接收到请求内容后,发送到Asp.NET的管道中,然后Asp.NET的ISAPI将读取的内容是全部装入服务器内存(NET2.0在请求内容较大时,会存放到临时文件中,见后面的开发说明),在上传文件时,消耗服务器资源较多, 阅读全文

posted @ 2012-02-25 16:26 vicky静 阅读(133) 评论(1) 推荐(0) 编辑

导航