NoHttp的post上传文件到服务器
来源:互联网 发布:大数据分析平台 编辑:程序博客网 时间:2024/04/29 15:38
方法比较简单,但是是很久以前用过的了,不知道对不对,明天测试之后定论,先上代码:
在APplication中初始化:
public class UplaodApp extends Application {
@Override
public void onCreate() {
super.onCreate();
NoHttp.init(this);
}
}
在activity中调用:
package zz.itcast.upload;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import com.yolanda.nohttp.Binary;
import com.yolanda.nohttp.FileBinary;
import com.yolanda.nohttp.NoHttp;
import com.yolanda.nohttp.OnResponseListener;
import com.yolanda.nohttp.OnUploadListener;
import com.yolanda.nohttp.Request;
import com.yolanda.nohttp.RequestMethod;
import com.yolanda.nohttp.RequestQueue;
import com.yolanda.nohttp.Response;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends Activity {
public String uploadurl = "http://192.168.27.27:8080/server/UpLoadServlet";
RequestQueue requestQueue;
private File file;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//1.创建请求队列。
requestQueue = NoHttp.newRequestQueue();
getFile();
}
//去assets目录下拿文件
private void getFile() {
try {
file = new File(getFilesDir().getPath(),"aaa.exe");
InputStream is = getAssets().open("aaa.exe");
FileOutputStream fos = new FileOutputStream(file);
int len =-1;
byte[] buffer = new byte[1024];
while ((len=is.read(buffer))!=-1) {
fos.write(buffer, 0, len);
}
is.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public ProgressDialog progressDialog;
public void upload(View v){
//2.创建一个请求。长传文件的话。请求方法必须是post
Request<String> request = NoHttp.createStringRequest(uploadurl, RequestMethod.POST);
//3.给request请求添加提交的参数。
FileBinary binary = new FileBinary(file, "aaa.exe");
//上传文件添加监听是在FileBinary中添加的。
binary.setUploadListener(88, new OnUploadListener() {
@Override
public void onProgress(int what, int progress) {
System.out.println("onProgress"+progress);
progressDialog.setProgress(progress);
}
@Override
public void onStart(int what) {
System.out.println("onStart");
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setTitle("上传中。。。");
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setMax(100);
progressDialog.show();
}
@Override
public void onFinish(int what) {
System.out.println("onFinish");
progressDialog.dismiss();
}
@Override
public void onError(int what, Exception exception) {
System.out.println("onError");
}
@Override
public void onCancel(int what) {
System.out.println("onCancel");
}
});
request.add("file",binary);
//4.添加请求队列
requestQueue.add(99, request, responseListener);
}
OnResponseListener<String> responseListener = new OnResponseListener<String>() {
@Override
public void onSucceed(int what, Response<String> response) {
// System.out.println("onSucceed");
}
@Override
public void onStart(int what) {
// System.out.println("onStart");
}
@Override
public void onFinish(int what) {
// System.out.println("onFinish");
}
@Override
public void onFailed(int what, String url, Object tag, Exception exception,
int responseCode, long networkMillis) {
// System.out.println("onFailed");
}
};
}
- NoHttp的post上传文件到服务器
- 将文件通过http的post方法上传到服务器
- 通过 HTTP POST 上传文件到服务器.
- 通过 HTTP POST 上传文件到服务器.
- 通过 HTTP POST 上传文件到服务器
- android post上传文件到服务器
- Qt Post上传图片文件到服务器
- NoHttp上传多文件
- NoHttp的GET 和POST
- Http工具类 同时 post上传 多文件到服务器
- QT 通过POST方法,上传文件到服务器
- python post方式 上传文件到php服务器
- python 通过post方式上传文件到php服务器
- 使用Httpclient(post请求)上传文件及其他参数到https协议的服务器
- post上传图片到服务器
- Android使用post方式上传图片到服务器的方法
- Android使用post方式上传图片到服务器的方法
- 上传文件到服务器
- Android 使用MVPHelper工具生成,MVPDemo模拟登录演示
- jmeter安装与一些插件介绍安装
- 插入排序
- PHP 实现列出目录的内容
- 基于埃拉托色尼质数筛选法求最大公因数(java)
- NoHttp的post上传文件到服务器
- Gson全解析之一:JsonReader的beginObject()
- Oracle简单sql用法
- centos7 手动编译安装rz,sz命令
- 搭建轻量级C++编译环境——eclipse下的c/c++环境搭建(minGW+gdt离线安装)
- 生日蜡烛--蓝桥杯算法题目
- 全排列的递归实现
- Linux进程
- 高精度算法小结