android上传图片到服务器
2016-10-26 14:52
375 查看
使用okhttp进行上传
在gradle中配置
上传图片的主要代码
这个回调中写上传回调的代码
上传的代码
url:服务器路径
params:参数
imagePaths:图片路径,支持多张图片同时上传
然后把这个获取文件类型的方法贴上
最后记得加权限,权限我就不写了哈
在gradle中配置
compile 'com.zhy:okhttputils:2.4.1'
上传图片的主要代码
这个回调中写上传回调的代码
class FileUpdateCallBack implements Callback { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, final Response responseR) throws IOException { } }
上传的代码
url:服务器路径
params:参数
imagePaths:图片路径,支持多张图片同时上传
public void updateImage(String url,Map<String,String> params,List<String> imagePaths){ final OkHttpClient client = new OkHttpClient(); MultipartBody.Builder builder = new MultipartBody.Builder().setType(MultipartBody.FORM); //遍历map中所有参数到builder for (String key : params.keySet()) { builder.addFormDataPart(key, params.get(key)); } //遍历paths中所有图片绝对路径到builder,并约定key如“upload”作为后台接受多张图片的key for (String path : imagePaths) { builder.addFormDataPart("images", FileUtil.getFileName(path), RequestBody.create(MediaType.parse("image/" + FileUtil.getFileType(path)), new File(path))); } //构建请求体 RequestBody requestBody = builder.build(); //构建请求 Request request = new Request.Builder() .url(url)//地址 .post(requestBody)//添加请求体 .build(); client.newCall(request).enqueue(new FileUpdateCallBack()); }
然后把这个获取文件类型的方法贴上
public static String getFileType(String path){ return path.substring(path.lastIndexOf(".") + 1); }
最后记得加权限,权限我就不写了哈
相关文章推荐
- Android上传图片到服务器
- android通过Base64往服务器上传图片和对象
- Android: 上传图片到服务器
- android上传手机图片至服务器,服务器进行保存
- android选择图片或拍照图片上传到服务器(包括上传参数)
- android上传图片到服务器中的功能
- android上传图片至服务器
- android上传图片至服务器
- android选择图片或拍照图片上传到服务器(包括上传参数)
- android上传图片并附带参数至服务器
- android上传图片至服务器
- android 上传图片到服务器
- android从本地媒体库获取图片上传至服务器保存
- android上传图片至服务器
- Android上传图片至服务器
- android通过Base64往服务器上传图片和对象
- 上传android手机图片到服务器的方法
- android上传图片和参数(属性)到服务器
- Android 上传图片到服务器
- Android拍照选择图片通过webservice上传图片到到服务器