关于断点上传
1,客户端先获取文件长度,存在即可获取文件长度。如果服务器不存在这个文件,服务器返回404错误。客户端进行处理认为文件不存在。
获取方式为文件在服务器上的位置即可。
例:// 获得文件长度
public long getFileSize() {
int nFileLength = -1;
try { //服务器地址 文件路径
URL url = new URL("http://192.168.0.102:8080/TestUpWeb"+"/handoujuchang_4.mp4");
HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();
httpConnection.setRequestProperty("User-Agent", "NetFox");
int responseCode = httpConnection.getResponseCode();
if (responseCode >= 400) {
return 0; // -2 represent access is error
}
String sHeader;
for (int i = 1;; i++) {
sHeader = httpConnection.getHeaderFieldKey(i);
if (sHeader != null) {
if (sHeader.equals("content-length")) {
nFileLength = Integer.parseInt(httpConnection
.getHeaderField(sHeader));
break;
}
} else
break;
}
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
Utility.log(nFileLength);
return nFileLength;
}
2,客户端向服务器上传时,传入流在文件中的起始位置。
客户端:
url = new URL(sURL+"?start="+nStartPos); //start 为标志,nStartpos为数值
服务器端主要步骤:
ServletInputStream sis=request.getInputStream(); //得到输入流
String startPos = request.getParameter("start"); //得到起始位置
RandomAccessFile oSavedFile = new RandomAccessFile("C:\\Apache Software Foundation\\Tomcat 6.0\\webapps\\TestUpWeb\\handoujuchang_5.mp4", "rw");
long startPosL = 0;
startPosL = (long) Float.parseFloat(startPos);
oSavedFile.seek(startPosL); //将文件操作指针移到目标起始位置
//从输入流中取出数据写到文件中
while( len!=-1 )
{
oSavedFile.write(buffer, 0, len);
len=sis.read(buffer, 0, 1024);
count += len;
}
没有合适的资源?快使用搜索试试~ 我知道了~
android断点下载;断点上传,客户端和服务器端;
共62个文件
class:22个
java:11个
xml:6个
5星 · 超过95%的资源 需积分: 8 46 下载量 109 浏览量
2011-11-03
10:01:00
上传
评论 4
收藏 114KB RAR 举报
温馨提示
android客户端多线程断点下载文件,断点上传文件的客户端和服务器端代码
资源推荐
资源详情
资源评论
收起资源包目录
code.rar (62个子文件)
文件断点下载和断点上传获取系统安装程序
TestUpWeb
src
TestUp.java 4KB
.classpath 362B
.mymetadata 300B
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.name 6B
.jsdtscope 500B
org.eclipse.jdt.core.prefs 330B
.myeclipse
.project 1KB
WebRoot
META-INF
MANIFEST.MF 36B
index.jsp 861B
WEB-INF
classes
TestUp.class 3KB
lib
web.xml 778B
TestBreakPoint
AndroidManifest.xml 998B
res
layout
item.xml 798B
description.xml 515B
main.xml 2KB
drawable-ldpi
icon.png 2KB
drawable-mdpi
icon.png 3KB
drawable-hdpi
icon.png 4KB
values
strings.xml 175B
hs_err_pid3604.log 4KB
proguard.cfg 1KB
src
com
gsx
breakpoint
MainActivity.java 8KB
DescrptionActivity.java 4KB
SiteFileFetch.java 5KB
FileSplitterFetch.java 3KB
FileAccessI.java 1KB
SiteInfoBean.java 1KB
Utility.java 369B
TestMethod.java 766B
HttpUtil.java 6KB
bin
com
gsx
breakpoint
Utility.class 877B
TestMethod.class 1KB
SiteInfoBean.class 1KB
FileSplitterFetch.class 3KB
MainActivity$1.class 1006B
DescrptionActivity$1.class 3KB
MainActivity$MyThread.class 4KB
R.class 531B
FileAccessI.class 2KB
MainActivity.class 5KB
R$layout.class 457B
R$attr.class 340B
HttpUtil.class 5KB
DescrptionActivity$1$1.class 2KB
MainActivity$Listener.class 2KB
R$id.class 763B
FileAccessI$Detail.class 529B
R$string.class 427B
DescrptionActivity.class 3KB
SiteFileFetch.class 5KB
R$drawable.class 400B
classes.dex 23KB
TestBreakPoint.apk 25KB
resources.ap_ 12KB
.classpath 280B
assets
default.properties 362B
.settings
org.eclipse.core.resources.prefs 174B
.project 850B
gen
com
gsx
breakpoint
R.java 1KB
关于断点上传.txt.bak 0B
关于断点上传.txt 2KB
共 62 条
- 1
gsx_apple
- 粉丝: 1
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页