android 文件上传与下载(带进度条)
来源:互联网 发布:软件许可使用证书 编辑:程序博客网 时间:2024/05/22 06:24
原文地址:http://write.blog.csdn.net/postedit
privatevoiduploadAttachment(finalString path) {
File file =newFile(path);
if(!file.exists()) {
Toast.makeText(EditWorkDiaryActivity.this,"不存在该附件文件",
Toast.LENGTH_SHORT).show();
return;
}
String serviceAddress =jyBoxApplication.getServiceAddress();
String url ="http://"+ serviceAddress +"/app/worklog/uploadFile.htm";
// Stringurl
// ="http://192.168.0.139:8080/app/worklog/addOrUpdateWorkLog.htm";
UserInfo userInfo =jyBoxApplication.getUserInfo();
String keyCode =jyBoxApplication.getKeyCode();
RequestParams params =newRequestParams();
params.put("keyCode", keyCode);
params.put("devicesType", 2);
params.put("person_id", userInfo.getPersonId());
try{
params.put("file", file);
}catch(FileNotFoundException e1) {
//TODOAuto-generated catch block
e1.printStackTrace();
}
params.put("type", 1);
HttpAsyncUtil.post(url, params,newJsonHttpResponseHandler() {
@Override
publicvoidonSuccess(intstatusCode, Header[] headers,
JSONObject response) {
try{
intstatus = response.getInt("status");
if(status == 1) {
progress.dismiss();
Toast.makeText(EditWorkDiaryActivity.this,"上传成功",
Toast.LENGTH_SHORT).show();
JSONObject dataJsonObject = response
.getJSONObject("data");
longid = 0;
if(dataJsonObject !=null) {
String attachmentId = dataJsonObject
.getString("attachmentId");
id = Long.valueOf(attachmentId);
}
String fileName = path.substring(path.lastIndexOf("/") + 1);
Attachment attachment =newAttachment();
attachment.setName(fileName);
attachment.setPath(path);
attachment.setId(id);
attachmentList.add(attachment);
attachmentAdapter.notifyDataSetChanged();
intheight = 70 *attachmentList.size();
ViewGroup.LayoutParams params =attmentListView
.getLayoutParams();
DisplayMetrics metrics =newDisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(
metrics);
intheighDP = Utils.getDPI(height, metrics);
params.height= heighDP;
attmentListView.setLayoutParams(params);
attmentListView.setVisibility(View.VISIBLE);
attachmentAdapter.notifyDataSetChanged();
}else{
progress.dismiss();
Toast.makeText(EditWorkDiaryActivity.this,"提交异常",
Toast.LENGTH_SHORT).show();
}
}catch(JSONException e) {
progress.dismiss();
Toast.makeText(EditWorkDiaryActivity.this,"系统异常",
Toast.LENGTH_SHORT).show();
//TODOAuto-generated catch block
e.printStackTrace();
}
}
@Override
publicvoidonProgress(longbytesWritten,longtotalSize) {
super.onProgress(bytesWritten, totalSize);
intcount = (int) ((bytesWritten * 1.0 / totalSize) * 100);
// 上传进度显示
progress.setProgress(count);
Log.e("上传 Progress>>>>>", bytesWritten + " / " + totalSize);
}
@Override
publicvoidonFailure(intstatusCode, Header[] headers,
String responseString, Throwable throwable) {
progress.dismiss();
Toast.makeText(EditWorkDiaryActivity.this,"上传失败",
Toast.LENGTH_SHORT).show();
}
});
}
1.通过 newAsyncHttpClient().post(urlString, params, res); 直接可上传文件
回调方法 onProgress 可计算上传的百分比
2.初始化进度条组件
progress=newProgressDialog(EditWorkDiaryActivity.this);
progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progress.setMessage("附件上传");
progress.setOnCancelListener(newDialogInterface.OnCancelListener() {
@Override
publicvoidonCancel(DialogInterface dialog) {
progress.dismiss();
HttpAsyncUtil.cancel(EditWorkDiaryActivity.this,
true);
}
});
progress.setCancelable(true);
progress.setButton("取消",
newDialogInterface.OnClickListener() {
@Override
publicvoidonClick(DialogInterface dialog,
intwhich) {
progress.dismiss();
HttpAsyncUtil.cancel(
EditWorkDiaryActivity.this,true);
}
});
progress.show();
0 0
- android 文件上传与下载(带进度条)
- Android带进度条文件上传
- android实现带进度条的文件上传
- Android上传文件到服务器--带进度条
- 带进度条文件上传
- 文件上传(无刷新,带进度条,带网速)下载完整
- 文件上传 带进度条(多种风格)
- 文件上传 带进度条(多种风格)
- 文件上传 带进度条(多种多样)
- 文件上传 带进度条(多种风格)
- struts2文件上传带进度条(一)
- Android FTP 客户端 上传/下载 带进度条实战源码
- Asp.Net Mvc 带进度条大文件上传(附源码下载)
- Qt5.8用FTP实现文件上传和下载(带进度条)
- Qt5.8用HTTP实现文件上传和下载(带进度条)
- JAVA文件上传(带进度条)JAVA文件上传(带进度条)
- 大文件带进度条上传
- 带进度条的文件上传
- 383. Ransom Note
- 栈实现计算器
- (十七)剑指offer之二叉树中和为某一值的路径
- widerface数据库转voc2007数据集(python/matlab实现)
- DB中插入数据去重复写法mark
- android 文件上传与下载(带进度条)
- HDU 1180 诡异的楼梯(BFS+保存自己的状态)
- java并发编程(十三)----(JUC原子类)引用类型介绍(CAS和ABA的介绍)
- [生存志] 第116节 贾谊进献治安策
- 高级电子版 ---- C# 图解教程 ,PDF 电子书
- 不要62
- segue传值、返回、回调返回,swift3、storyboard
- shiro初步 shiro授权
- 【数据结构与算法】 利用哈夫曼树进行文件压缩 (部分借鉴网上内容)