安卓开发xutils-Post请求一个方法解决单张图片,多张图片,文字的上传
来源:互联网 发布:mysql 当前时间 编辑:程序博客网 时间:2024/05/19 23:16
之前需求用到多张图片上传,在网上搜了一下,发现都是原生API的上传,之前也使用了Retrofit的
RequestBody.create(MediaType.parse("multipart/form-data"), file)实现上传图片但是发现不好用,扩展性差(PS:可能是我用的不好哈),我的代码中用到了xutils的注解模块,就想使用网络模块来实现。
准备工作
在build.gradle里面加入xutils包依赖
compile 'org.xutils:xutils:3+'
注册xutils(最好是在Application的OnCreate)
//xutils的初始化 x.Ext.init(this);
核心代码
自己在合适位置进行日志打印
/** * @param callback 回调接口,通知UI线程更新UI * @param param 可变参数,可以理解为数组 * */ public void upLaodImg(final AsyncCallback callback, final String... param) { RequestParams params=new RequestParams(URL);//参数是路径地址 List<KeyValue> list = new ArrayList<>(); for (int i=6;i<list.size();i++){//遍历图片,我传的图片为下标6开始的位置 try { list.add(new KeyValue("multiparts"//图片数组,或者单个图片的上传参数名 ,new File(param[i])));//这个参数取出来是图片在手机里的地址 }catch (Exception e){} } list.add(new KeyValue("Title", param[1])); list.add(new KeyValue("Content", param[2])); list.add(new KeyValue("orderType", param[0])); list.add(new KeyValue("Address", param[3])); list.add(new KeyValue("TxnAmt", param[4])); list.add(new KeyValue("moblNo", param[5])); list.add(new KeyValue("userId", MyApp.userId)); //设置编码格式为UTF-8,保证参数不乱码 MultipartBody body = new MultipartBody(list, "UTF-8"); params.setRequestBody(body); x.http().post(params,new Callback.CommonCallback<String>(){ public void onSuccess(String result) { try { JSONObject jsonObject=new JSONObject(result); if (jsonObject.getString("code").equals("0")){ callback.onSuccess(jsonObject.getString("message")); }else { callback.onError(jsonObject.getString("message")); } } catch (JSONException e) { e.printStackTrace(); } } public void onError(Throwable ex, boolean isOnCallback) { callback.onError("错误"); } public void onCancelled(CancelledException cex) { } public void onFinished() { } });
阅读全文
1 0
- 安卓开发xutils-Post请求一个方法解决单张图片,多张图片,文字的上传
- 上传单张/多张图片,删除图片
- Volley-XUtils-OkHttp三种方式实现单张多张图片上传
- AFNetworking 2.0+ 上传单张/多张图片
- AFNetworking 2.0+ 上传单张/多张图片
- 单张,多张图片上传工具类
- 上传单张、多张图片demo示例
- 使用httpHttpURLConnection上传多张图片和文字的方法
- IOS 利用AFN上传图片,支持多张、单张上传
- iOS关于上传单张及多张图片
- iOS使用AFN上传单张、多张图片
- [微信小程序]上传单张和多张图片
- php----图片上传封装类:单张,多张图片上传,生成缩略图
- SWift 利用post上传多张图片
- 图片上传(单张 多张 视频)(afn上传 原生上传)
- 判断单张,多张图片加载完成
- xutils上传多图片
- okhttp2 和 okhttp 3上传单张或者多张图片的差异( 更好地理解使用okhttp )
- pip_使用豆瓣的镜像源
- day13
- Mysql Binlog三种格式介绍及分析
- 获取本机内网、外网ip
- #pragma data_seg在DLL中共享数据的应用
- 安卓开发xutils-Post请求一个方法解决单张图片,多张图片,文字的上传
- Android WindowManager进行图片放大时全屏的代码
- 使用VS2015创建MFC项目介绍
- day15
- 重新安装python3
- Oracle分析函数lead和lag学习
- 心灵鸡汤
- Android工具网站
- 删除list中某些元素