Android多文件上传,java服务端接收
1、Android端
代码:
String uploadUrl = "http://xxx/uploadFiles";//上传的接口地址 ListfilePaths = "";//上传的Android本地文件地址集合 // Android 4.0 之后不能在主线程中请求HTTP请求 new Thread(new Runnable() { @Override public void run() { uploadFiles(uploadUrl, filePaths); } }).start(); /** * 多文件上传 * @param uploadUrl 文件上传接口地址 * @param filePaths 上传的文件路径集合 * @return */ public void uploadFiles(String uploadUrl, List filePaths) { MultipartBody.Builder builder = new MultipartBody.Builder().setType(MultipartBody.FORM); for (int i = 0; i < filePaths.size(); i++) { //对文件进行遍历 String fname = filePaths.get(i); File tempfile = new File(fname); //根据文件的后缀名,获得文件类型 builder.setType(MultipartBody.FORM) .addFormDataPart("id",id)// 其他参数信息 .addFormDataPart( //给Builder添加上传的文件 "files", //请求的名字 tempfile.getName(), //文件的文字,服务器端用来解析的 RequestBody.create(MediaType.parse("multipart/form-data"), tempfile)//创建RequestBody,把上传的文件放入 ); } MultipartBody requestBody = builder.build(); Request request = new Request.Builder() .url(uploadUrl) .post(requestBody) .build(); OkHttpClient client = new OkHttpClient.Builder() .connectTimeout(10000, TimeUnit.SECONDS) .readTimeout(10000, TimeUnit.SECONDS) .writeTimeout(10000, TimeUnit.SECONDS).build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, final IOException e) { Log.e("TAG", "返回内容===失败>:" + e.toString()); } @Override public void onResponse(Call call, Response response) throws IOException { String result = response.body().string(); Log.e("TAG", "返回内容===成功>:" + result); } }); }
2、java服务端接收代码
总结:实践是检验真理的唯一标准。
Original: https://www.cnblogs.com/qiantao/p/14789673.html
Author: QianTM
Title: android多文件上传,java服务端接收
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/572524/
转载文章受原作者版权保护。转载请注明原作者出处!