1.4 大文件上传

 这次要求上传相对较大的东西。 没办法继续研究了,所以就先对于这个系统来说明一下。基于WEB的文件上传可以使用FTP和HTTP两种协议,FTP传输稳定,但安全性有待提高,而且FTP服务器读取用户库获取权限,对于用户使用来说还是不太便捷。 只有HTTP才能有效解决这些问题。在一些情况下,在现实准备接受数据前,服务器先对表中数据的某些元素进行验证是推荐的做法。经过一定的考虑后,我们认为如果服务器想这样做。这样可以迅速处理一些基本的问题,保障了程序的可行性,而那些简单的应用的则可以实现得方便,而我们也可以很轻松[1]。

HTTP协议需要知道整个事务处理中的内容总长度及一些属性。对于一些文件的总长度,我们应该提前知晓,这样系统服务器就能够判断文件的内容是否可以进行完整地处理,从而返回一个错误代码并关闭该操作的可行性,而不用等到完成所有的数据操作再进行判断。

在任何情况下,如果接受的文件操过了系统的最大限制,服务器就会终止这次操作。

1.5 基于Asp.net平台文件上传的介绍

我们在用ASP.NET上传一些重要的文件时,设置很大的maxRequestLength值并不能有效的解决一些现有的问题,比如遇到太大的上传软件,我们经常会见到Internet Explorer显示 "The page cannot be displayed - Cannot find server or DNS Error",这个错误。这是个client side错误,是解决不了的,也解决不到的[7]。

  方案原理操作:

  利用HttpHandler实现了ISAPI Extention的一些功能需求,处理请求的信息和发送响应。

  方案要点如下:

  1. httpHandler or HttpModule

  a.在asp.net进程处理request请求之前截获request对象

  B.实时读取和写入数据

  c.实时跟踪上传进度更新的信息

  2. 利用隐含的HttpWorkerRequest用它的GetPreloadedEntityBody 和 ReadEntityBody方法处理文件流程[7]

  IServiceProvider provider = (IServiceProvider) HttpContext.Current; 

  HttpWorkerRequest wr = (HttpWorkerRequest) provider.GetService(typeof(HttpWorkerRequest));

  byte[] bs = wr.GetPreloadedEntityBody();

  ....

  if (!wr.IsEntireEntityBodyIsPreloaded())

  {

  int n = 1024;

  byte[] bs2 = new byte[n];

  while (wr.ReadEntityBody(bs2,n) >0)

  {

  .....

  }

  }

  3. 自定义Multipart MIME 解析器操作[3]。

  自动截获MIME分割符操作。

  将文件分块操作成临时文件进行处理。

  实时更新Appliaction 状态(ReceivingData, Error, Complete) 。

2 系统开发工具介绍

2.1 系统开发工具概述

本系统前台数据库采用Microsoft SQL Server 2005,该数据库系统在安全方面、准确率方面很不错,运行速率快,并且处理高效快捷;后台选择以.NET平台作为开发平台,以C#作为开发语言,采用Visual Studio 2005作为主要的开发工具,可与SQL Server 2005数据库无缝连接,更好的完善系统[2]。

2.2 Visual Studio.NET平台简介源1自3吹冰8.论~文'网·www.chuibin.com

Visual Studio .NET 是一套完整开发软件,一般用于生成应用程序。Visual Basic .NET、Visual C++ .NET、Visual C# .NET 和 Visual J# .NET 全都使用相同的集成开发环境 (IDE),在这个环境下,它们共享工具并有助于建立混合语言解决方案[4]。

Visual Studio .NET 集成开发环境现在包括开发智能设备(如 Pocket PC)应用程序的工具。通过使用这些工具,我们受益颇多。

上一篇:C#+Sqlserver教室会议室预约系统的开发
下一篇:病毒入侵微机的途径与防治研究

基于MOODLE平台的在线交互式学习设计

Wireshark的P2P文件共享中的行为提取软件设计

jsp《计算机硬件技术基础...

基于.net的在线考试系统设计与实现

基于JSP的课堂在线测试系统的设计与实现

基于Android的火车票在线订...

C#+sqlserver学生成绩管理系统的设计与实现

压疮高危人群的标准化中...

从政策角度谈黑龙江對俄...

AES算法GPU协处理下分组加...

基于Joomla平台的计算机学院网站设计与开发

浅谈高校行政管理人员的...

STC89C52单片机NRF24L01的无线病房呼叫系统设计

浅论职工思想政治工作茬...

酵母菌发酵生产天然香料...

上海居民的社会参与研究

提高教育质量,构建大學生...