如何通过WebService批量上传多个大文件

如题所述

  方法/步骤

  1.       Web Service 简介

  Web Service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。

  Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。

  (Web Service 在此不做过多介绍,具体介绍可百度下)

  2.       WEB Service 开发

  2.1.    服务配置

  Asp.Net 一般支持上传4MB大小文件,为实现上传超过4MB大小文件,Asp.Net项目需要调整配置(Web.Config)的httpRuntime节点。

  <httpRuntime maxRequestLength="40960"  executionTimeout="1800" />

  maxRequestLength:指定输入流缓冲阈值限制(以 KB 为单位)。此限制可用于防止拒绝服务攻击;例如,因用户向服务器发送大型文件而导致的拒绝服务攻击。

  默认值为 4096 (4 MB)。

  executionTimeout: 指定在被 ASP.NET 自动关闭前,允许执行请求的最大秒数。默认值110秒。

  2.2.    服务开发

  本人采用接收字节的方式开发Web Service,提供是创建还是累加参数,根据参数将文件字节写入文件中。示例代码如下:

  3.       WinForm 程序开发

  WinForm是·Net开发平台中对Windows Form的一种称谓。新增WinForm程序项目,添加文件上传服务引用。

  3.1.    Winform 程序实现效果

  程序界面简单设计为:选择文件按钮,选择文件列表,上传文件按钮、上传信息及上传进度。

  3.2.    Winform 上传文件效果

  示例演示:选择两大于4MB文件进行上传,上传成功。


  3.3.    文件上传关键源码

  localhost.WebService mWebService = new WinTest.localhost.WebService();

  mWebService.CookieContainer = new System.Net.CookieContainer();

  mWebService.Timeout =- 1;

  

  对 XML Web services 的同步调用的超时(以毫秒为单位)。默认为 100000 毫秒。提示:如果将 Timeout 属性设置为 Timeout =-1,则指示该请求无超时。

温馨提示:答案为网友推荐,仅供参考
相似回答