当前位置:首页 » 安卓系统 » androidhttp断点上传文件

androidhttp断点上传文件

发布时间: 2022-08-23 00:18:17

A. 如何实现基于http协议的断点续传的上传功能

于HTTP 协议的多线程下载和断点续传的实现 学 生:叶升路 指导教师:覃 颖 (三峡大学 电气信息学院) 摘 要:本文介绍了网络下载软件中的最新技术——多线程下载和断点续传技术,同时 也介绍了HTTP 协议的发展、特点以及WinSock 编程技术。最后在这些技术的基础上成 功设计并实现了基于HTTP 协议的具有多线程下载和断点续传功能的下载软件。本软件 的实现代码未使用任何WinInet API 函数如InternetOpen , InternetConnect 等,而是直接 使用WinSock 编程,逐步解析HTTP 协议来完成会话和文件下载等功能。经测试,下载 速度有所提高。 关键词:下载;多线程;断点续传;HTTP;WinSock; Abstract:This paper introces the latest downloading technology called multi-threaded downloading and resume in network downloading software. But also descripes the development of HTTP protocol, characteristics and WinSock programming. Finally, based on these technologies successfully designed and implemented a downloading tool based on the HTTP protocol with multi-threaded and resume features. The realization of the software code does not use any WinInet API functions such as InternetOpen, InternetConnect, etc., but directly use WinSock to programming, and complete the functions of conversation and file downloads and others by parse HTTP protocol steply. After tested, the speed of downloading has increased. Keywords: Downloading;Multi-thread;Resume;HTTP;WinSock; 前言 最近几年,随着计算机网络的飞速发展,因特网(Internet)已经逐渐成为人们生活、 工作、学习必不可缺的一部分。因特网上存储了大量丰富的信息资源,我们可以使用下载 工具,把需要的信息资源下载到本地。但是由于受到各种因素的限制,例如服务器性能、 网络带宽、下载的信息量以及下载工具等等,下载速度受到不同程度的影响。因此人们不 断地提高服务器性能,扩展网络带宽,开发效率更高的下载工具以达到最大化提高下载 速度的目的。 在限制下载速度的众多因素中,研究新的网络下载技术开发出更高效的下载工具无 疑是其中最节约,环保以及方便的方式。网络下载技术,也可以称为网络文件共享技术, 10 1 它一直是网络发展的重要推动力之一。早期人们共享资源的普遍方法是将资源文件上传 至服务器上,然后其他用户可以通过HTTP 或FTP 等协议将其下载到本地电脑。这种模 式称为客户机/服务器模式即C/S 模式,它对服务器的依赖性很大,当下载用户很少时, 比如说一个,他将独享服务器的带宽,很显然其下载速度会非常快。然而当下载的人数 较多而服务器带宽有限时,比如服务器带宽为3MB/S,而下载人数为100 人,则众多下 载用户不得不共享一个带宽(3MB/S)最终结果是下载速度均分(30KB/S),普遍不高。 P2P 技术的出现使得人们终于摆脱了服务器的枷锁。它的主要特点是资源分散、负 载均衡、和非中心化,它将共享的文件存储在各个客户机节点上,用户之间可以直接共 享和传输文件而不需要通过服务器。客户机不再只利用服务器带宽进行下载,它同时也 可以利用其他客户机节点的带宽,这样大大提高了下载速度。 纵观网络下载技术发展的历史,可以将其划分为四个阶段:单线程下载阶段、多线 程下载及断点续传阶段、P2P阶段、P2SP阶段。 一、单线下载时代:应对有限时间流量的办法 早在上个世纪90年代,当时互联网并不普及,很多人使用Modem拨号,通过Telnet 软件连接到拨接式BBS上获取资讯并与别人交流(收发邮件等),由于服务器的电话线 路数量有限,因此都会限制连接时间,一般新注册用户只有10分钟左右。这点时间用来 看帖回帖显然不够的,因此有人就开发了软件,进入BBS后,能够将整个BBS上所有内 容都下载回来,然后可以断线慢慢看慢慢回,最后再次拨入BBS上传回复。 二、断点续传与多线程下载时代:大幅度提高速度 进入Windows与WWW(World Wide Web,互联网)时代之后,IE,Netscape等浏览 器都可以通过点击左键下载,那个时候网络速度最快不过5KB/s,下载一首5MB的MP3 歌曲要15分钟以上!中途万一断线就前功尽弃,于是有人开发了支持断点续传的下载软 件。 世界上第一款支持断点续传的下载软件应该是GetRight。它可让你用浏览器下载文 件时有续传功能,可设定时间来下载文件或是中断Modem拨接,下载完毕时自动中断 Modem拨接或关机。 为了更好的利用带宽,在断点续传的基础上,多线程下载软件逐渐发展了起来。最 早出现的多线程下载软件是中国人开发的NetAnts(网络蚂蚁)。网络蚂蚁其实也是一 个断点续传软件,但它对断点续传功能进行了扩展:可进行多点续传,即利用断点续传 的原理同时建立多个连接下载同一个软件并最终将其合并为一个完整的软件。

B. android断点续传怎么实现

断点上传和下载的思路是记录断点,然后根据记录重新进行续传,可以看原理http://hao3100590.iteye.com/blog/1295903

android断点续传我没有做过,但是我找到了这个http://blog.csdn.net/csh159/article/details/8442970。

大致看了下,代码很清晰,应该能符合要求。

C. android的自带的httpClient 怎么上传文件

在Android开发中,Android SDK附带了Apache的HttpClient,它是一个完善的客户端。它提供了对HTTP协议的全面支持,可以使用HttpClient的对象来执行HTTP GET和HTTP POST调用。

HTTP工作原理:

1.客户端(一般是指浏览器,这里是指自己写的程序)与服务器建立连接

2.建立连接后,客户端向服务器发送请求

3.服务器接收到请求后,向客户端发送响应信息

4.客户端与服务器断开连接


HttpClient的一般使用步骤:

1.使用DefaultHttpClient类实例化HttpClient对象

2.创建HttpGet或HttpPost对象,将要请求的URL通过构造方法传入HttpGet或HttpPost对象。

3.调用execute方法发送HTTP GET或HTTP POST请求,并返回HttpResponse对象。

4.通过HttpResponse接口的getEntity方法返回响应信息,并进行相应的处理。

最后记得要在AndroidManifest.xml文件添加网络权限

<uses-permission android:name="android.permission.INTERNET" />


附件中包含了一个拍照上传的源代码


D. Android中使用HttpPost实现数据与文件同时上传的功能

第一步:编写一个Servlet,把接收到的HTTP信息保存在一个文件中,代码如下:
public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {
//获取输入流,是HTTP协议中的实体内容

ServletInputStream sis=request.getInputStream();
//缓冲区

byte buffer[]=new byte[1024];
FileOutputStream fos=new FileOutputStream("d://file.log");

int len=sis.read(buffer, 0, 1024);
//把流里的信息循环读入到file.log文件中
while( len!=-1 )
{
fos.write(buffer, 0, len);
len=sis.readLine(buffer, 0, 1024);
}
fos.close();
sis.close();
}
第二步:实现如下图1的的表单页面,生成一个注册表单,提交到Servlet中

详细的代码如下:

<form action="servlet/ReceiveFile" method="post" enctype="multipart/form-data">
第一个参数<input type="text" name="name1"/> <br/>
第二个参数<input type="text" name="name2"/> <br/>
第一个上传的文件<input type="file" name="file1"/> <br/>
第二个上传的文件<input type="file" name="file2"/> <br/>
<input type="submit" value="提交">
</form>
注意了,由于要上传附件,所以一定要设置enctype为multipart/form-data,才可以实现附件的上传。
第三步:填写完信息后按“提交”按钮后,在D盘下查找file.log文件用记事本打开,数据如下:
-----------------------------7d92221b604bc
Content-Disposition: form-data; name="name1"
hello
-----------------------------7d92221b604bc
Content-Disposition: form-data; name="name2"
world
-----------------------------7d92221b604bc
Content-Disposition: form-data; name="file1"; filename="C:/2.GIF"
Content-Type: image/gif
GIF89a

E. android基于UDP协议,能够实现断点传送吗

HTTP和UDP不支持断点续传功能,并绑定端口是3900和80。有些网站限制你只能使用单线程或者只能通过普通下载来传输,不能分块的,就只能用勾上。

F. android okhttp上传文件mediatype有哪些

/**
* @param mediaType MediaType
* @param uploadUrl put请求地址
* @param localPath 本地文件路径
* @return 响应的结果 和 HTTP status code
* @throws IOException
*/
public String put(MediaType mediaType, String uploadUrl, String localPath) throws IOException {
File file = new File(localPath);
RequestBody body = RequestBody.create(mediaType, file);
Request request = new Request.Builder()
.url(uploadUrl)
.put(body)
.build();
Response response = client.newCall(request).execute();
return response.code()+ ":" + response.body().string() ;
}

//上传JPG图片
public String putImg(String uploadUrl, String localPath) throws IOException {
MediaType Image = MediaType.parse("image/jpeg; charset=utf-8");

G. 急求android下http协议视频上传.支持断点续传。

1、删除一条记录以后,调用Adapter的notifyDataChanged函数,即可启动界面的重新刷新。
2、百分比的动态刷新,建议用AsyncTask来实现。具体可参考SDK中AysncTask的介绍。

H. 如何利用http协议实现文件下载的断点续传

http协议中 header里面有个字段叫做range,以及与range相关的一些header
Range: 只请求实体的一部分,指定范围 例如Range: bytes=500-999
所以断点续传,你懂的,断了之后你再请求剩下的部分,最后拼起来就行

热点内容
炸图脚本 发布:2025-01-15 19:56:07 浏览:427
八字源码 发布:2025-01-15 19:54:47 浏览:370
服务器可以变电脑使用吗 发布:2025-01-15 19:40:29 浏览:200
传奇手游免费脚本 发布:2025-01-15 19:30:21 浏览:300
我国当前资源配置存在哪些问题 发布:2025-01-15 19:25:03 浏览:513
存储在哪里呀 发布:2025-01-15 19:11:39 浏览:450
pythonuniquelist 发布:2025-01-15 19:10:41 浏览:477
怎么升安卓系统下载 发布:2025-01-15 19:04:27 浏览:894
mcrypt扩展php 发布:2025-01-15 19:01:12 浏览:436
html源码解析 发布:2025-01-15 19:01:10 浏览:223