如何通过Web Service 实现断点续传或下载文件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何通过Web Service 断点续上传或下载文件
目录
1.描述 (2)
1.1.Web Service (2)
1.2.断点续传 (2)
2.WEB Service 开发 (2)
2.1.不支持断点续传方法 (2)
2.2.支持断点续传方法 (3)
2.3.不支持断点下载方法 (3)
2.4.支持断点下载方法 (4)
3.上传、下载工具开发 (5)
3.1.文件上传工具 ............................................................................................................. 错误!未定义书签。
3.2.文件下载工具 (5)
1.描述
1.1.Web Service
Web Service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
Web Service技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。依据Web Service规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。Web Service是自描述、自包含的可用网络模块,可以执行具体的业务功能。Web Service也很容易部署,因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。
Web Service 在此不做过多介绍,详细介绍请百度或搜索相关资料。
1.2.断点续传
客户端软件断点续传指的是在下载或上传时,将下载或上传任务(一个文件或一个压缩包)人为的划分为几个部分,每一个部分采用一个线程进行上传或下载,如果碰到网络故障,可以从已经上传或下载的部分开始继续上传下载以后未上传下载的部分,而没有必要重头开始上传下载。用途可以节省时间,提高速度。
有时用户上传下载文件需要历时数小时,万一线路中断,不具备断点续传的服务器或下载软件就只能从头重传;比较好的服务器或下载软件具有断点续传能力,允许用户从上传下载断线的地方继续传动,这样大大减少了用户的烦恼。
常见的支持断点续传的上传、下载软件:超级旋风、迅雷、web迅雷、影音传送带、快车、BitComet、电驴eMule、哇嘎Vagaa等。
2.WEB Service 开发
要想实现断点续传或下载文件,Web Service 需要支持上传文件的部分内容,或下载文件的部分内容。本人采用上传或下载字节的方式进行Web Service 方法开发。
2.1.不支持断点续传方法
不支持断点续传方法,即客户端,将文件所有字节内容上传到服务器。由于网络中断,或网络异常导致上传失败时,需要重新上传。如果是比较大的文件,比如超过4MB( Web 应用程序默认一般支持上传4MB大小文件),重传将浪费时间及给使用者带来不好的体验。
2.2.支持断点续传方法
支持断点续传方法,方法将提供文件内容开始位置参数,然后将上传过来的文件内容,根据文件起始位置写入文件中。
2.3.不支持断点下载方法
不支持断点下载,方法提供下载文件名称,文件比较大时(大于4MB),将不进行下载。网络中断时,
需要重新进行下载。
2.4.支持断点下载方法
支持断点下载,方法除提供下载文件名称参数外,还提供下载文件起始位置及下载文件大小(方法控制每次最大下载100KB)。为了实现断点下载,同时提供下载文件信息(文件大小)方法,以便客户端知道需要下载多大文件,分多少次进行下载。
获取文件信息方法:
下载文件内容方法:
3.上传、下载工具开发
文件上传,本文档不作介绍,有需要可百度搜索,如何通过Web Service 上传大文件方法。本文着重介绍如何实现断点下载工具开发,断点上传文件,可参考实现。
3.1.文件下载工具
工具使用VS2008 C# 语言开发Winform应用程序。文件下载工具界面设计,界面简单设计为下载文件目录、下载文件名称及保存文件目录。下载文件目录,在实际项目开发可能就是某个客户的客户账号,根
据客户账号读取服务器文件,进行下载。
3.2.断点下载
本人设计-下载帮助类(SQFileDownload),记录下载文件信息及每次下载进度。出现网络中断,打开工具重新下载时,读取下载信息进行下载。
初始文件下载,读取已下载文件信息。
未下载过,进行直接下载。
已下载过,根据下载进度,进行下载。
主界面调用。
至此,整个如何通过Web Service 断点续传及下载文件,介绍、分享完毕,实现方法只做参考。