直接上代码

接口请求代码

NewResultApi.modifyUserInfo(userModel.getUid(), userModel.getToken(), sex, intro,name, city, birthday,new File(filename), new ICallBack<BaseResultBean<UserDetails>>() {@Overridepublic void onSuccess(String flag, String key, BaseResultBean<UserDetails> userDetailsBaseResultBean) {UserDateilsTable.getUserDao(context).saveContactList(userDetailsBaseResultBean.getResult(), "1");ToastUtil.show(context, getString(R.string.toast_save_succeed));UserInfoActivity.this.finish();pd.dismiss();}@Overridepublic void onFailure(String flag, String key, String why) {pd.dismiss();ToastUtil.show(context, why);}});

  

public static Call<BaseResultBean<UserDetails>> modifyUserInfo(int uid, String token, String sex, String intro, String username, String city,String birthday, File imagePath, final ICallBack<BaseResultBean<UserDetails>> callBack){MultipartBody.Part filePart = MultipartBody.Part.createFormData("icon", imagePath.getName(), RequestBody.create(MediaType.parse("image/*"), imagePath));Call<BaseResultBean<UserDetails>> call=BuildService.getMeiNvService().modifyUserInfo(stringRequestBody(AppConfig.VER+""),stringRequestBody("user_modify_userinfo"),stringRequestBody(uid+""),stringRequestBody(token),stringRequestBody(sex),stringRequestBody(intro),stringRequestBody(username),stringRequestBody(city),stringRequestBody(birthday), filePart);call.enqueue(new Callback<BaseResultBean<UserDetails>>() {@Overridepublic void onResponse(Call<BaseResultBean<UserDetails>> call, Response<BaseResultBean<UserDetails>> response) {if (response.isSuccessful()) {BaseResultBean<UserDetails> resultBean = response.body();if (resultBean.getCode() == 200) {//数据正确,把数据返回callBack.onSuccess("", "", resultBean);} else {//数据错误callBack.onFailure("", "", resultBean.getMsg());}}}@Overridepublic void onFailure(Call<BaseResultBean<UserDetails>> call, Throwable t) {callBack.onFailure("", "", "失败");}});return  call;};

  

 @Multipart@POST("api.ashx")Call<BaseResultBean<UserDetails>> modifyUserInfo(@Part("ver") RequestBody ver,@Part("action") RequestBody action,@Part("uid") RequestBody uid,@Part("token") RequestBody token,@Part("sex") RequestBody sex,@Part("intro") RequestBody intro,@Part("username") RequestBody username,@Part("city") RequestBody city,@Part("birthday") RequestBody birthday,@Part MultipartBody.Part  file);

  

    private static RequestBody stringRequestBody(String params){return  RequestBody.create(MediaType.parse("text/plain"), params);}

  

转载于:https://www.cnblogs.com/freexiaoyu/p/6079547.html

retrofit2 上传图片相关推荐

  1. Android项目120项

    1.一个APP只需要一个Activity //片段fragmentimplementation 'me.yokeyword:fragmentation:1.3.6'implementation 'me ...

  2. Android项目必备技术

    1.一个APP只需要一个Activity //片段fragmentimplementation 'me.yokeyword:fragmentation:1.3.6'implementation 'me ...

  3. android上传头像 sockettimeoutexception,Kotlin - Retrofit2和Rxjava2封装的网络请求类(含图片上传)...

    阅读建议:本文适合熟悉Retrofit与Rxjava2的同学阅读,其中也包含一丢丢的RxLifecycle,文中不包含这两个库的使用说明.不熟悉RxJava的同学,建议去这里了解,里面包含3篇文章,均 ...

  4. OkHttp3 + retrofit2 封装

    0.下载文件 1.gradle 添加 compile 'com.squareup.retrofit2:retrofit:2.1.0'compile 'com.squareup.retrofit2:co ...

  5. 基于RxJava2+Retrofit2简单易用的网络请求实现

    代码地址如下: http://www.demodashi.com/demo/13473.html 简介 基于RxJava2+Retrofit2实现简单易用的网络请求,结合android平台特性的网络封 ...

  6. android kotlin 上传文件 上传图片

    kotlin 上传图片 首先要引入retrofig2 implementation 'com.squareup.retrofit2:retrofit:2.4.0'implementation 'com ...

  7. Android网络请求归纳 HttpUrlConnection| Vollety|OKHttp3|Retrofit2

    1.网络基础知识: Android网络API库有哪些?      HttpUrlConnection: jdk内置      HttpClient:android提供,6.0被删除      Voll ...

  8. retrofit 会请求两次_基于RxJava2+Retrofit2简单易用的网络请求实现

    简介 基于RxJava2+Retrofit2实现简单易用的网络请求,结合android平台特性的网络封装库,采用api链式调用一点到底,集成cookie管理,多种缓存模式,极简https配置,上传下载 ...

  9. Django 上传图片和Admin站点5.2

    上传图片 当Django在处理文件上传的时候,文件数据被保存在request.FILES FILES中的每个键为<input type="file" name="& ...

  10. tp5+linux+apache php7.1.30环境下,上传图片报错:mkdir():permission denied

    做了个自己的博客,后台上传图片的时候报错如图: 首先反应是权限问题,runtime和uploads文件夹已经给了777权限了,超出菜鸟的解决范围,果断百度,但是百度了一堆,全部是关于runtime的, ...

最新文章

  1. 8.继续分析一破解加密码获取-最最最简单的注册机
  2. poj 2513 Colored Sticks( 字典树哈希+ 欧拉回路 + 并查集)
  3. OutputStreamWriter介绍代码实现
  4. 华硕t100ta做linux,华硕T100TA个人补充评测
  5. .net core通过多路复用实现单服务百万级别RPS吞吐
  6. C语言#define宏定义可能注意不到的地方
  7. Python 线程信号量 semaphore - Python零基础入门教程
  8. python文件和目录访问File and Directory Access
  9. android iphone字体,网站中的字体设置--兼容苹果、pc、安卓系统的字体设置
  10. 快手滑块验证码分析 2022/03/17
  11. (四)DIH导入结构化数据
  12. 抱薪者说 | 赛博仏客:造物者无尽藏
  13. C++ 小游戏 视频及资料集(3)
  14. 基于硬件的C(C++)语言程序设计教程5:更改Atmel Studio的语言设置
  15. [博应用软件]如何正确安装路由器?
  16. WPF开发(1)——建立WPF工程
  17. Python读取txt文件画Loss曲线图---txt文件转xls文件---xls文件转txt文件--xml文件转txt文件
  18. piv图像处理文献综述_数字图像处理文献综述
  19. 程序员--经典10道脑力题
  20. 教你羊肉炒菠菜的做法

热门文章

  1. Java数据结构:稀疏数组(Sparse Array)的创建和文件存取
  2. 添加mysql.h头文件
  3. 飞翔 nyoj195(贪心or 动态)
  4. python不支持的数据类型是_opencv python:mat数据类型= 17不支持
  5. oracle processes 的大小,Oracle中sessions和processes的大小关系(10g和11g不同)
  6. STM32——库函数版——数码管流动显示程序
  7. 正态分布下贝叶斯决策的引入
  8. 万兆网口和千兆网口区别_万兆网卡的安装以及注意事项
  9. 参考文献顺序_科技论文参考文献的著录规则及存在问题
  10. 服务器webpack构建性能,webpack性能优化——构建效率(一)