retrofit2 上传图片
直接上代码
接口请求代码
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 上传图片相关推荐
- Android项目120项
1.一个APP只需要一个Activity //片段fragmentimplementation 'me.yokeyword:fragmentation:1.3.6'implementation 'me ...
- Android项目必备技术
1.一个APP只需要一个Activity //片段fragmentimplementation 'me.yokeyword:fragmentation:1.3.6'implementation 'me ...
- android上传头像 sockettimeoutexception,Kotlin - Retrofit2和Rxjava2封装的网络请求类(含图片上传)...
阅读建议:本文适合熟悉Retrofit与Rxjava2的同学阅读,其中也包含一丢丢的RxLifecycle,文中不包含这两个库的使用说明.不熟悉RxJava的同学,建议去这里了解,里面包含3篇文章,均 ...
- OkHttp3 + retrofit2 封装
0.下载文件 1.gradle 添加 compile 'com.squareup.retrofit2:retrofit:2.1.0'compile 'com.squareup.retrofit2:co ...
- 基于RxJava2+Retrofit2简单易用的网络请求实现
代码地址如下: http://www.demodashi.com/demo/13473.html 简介 基于RxJava2+Retrofit2实现简单易用的网络请求,结合android平台特性的网络封 ...
- android kotlin 上传文件 上传图片
kotlin 上传图片 首先要引入retrofig2 implementation 'com.squareup.retrofit2:retrofit:2.4.0'implementation 'com ...
- Android网络请求归纳 HttpUrlConnection| Vollety|OKHttp3|Retrofit2
1.网络基础知识: Android网络API库有哪些? HttpUrlConnection: jdk内置 HttpClient:android提供,6.0被删除 Voll ...
- retrofit 会请求两次_基于RxJava2+Retrofit2简单易用的网络请求实现
简介 基于RxJava2+Retrofit2实现简单易用的网络请求,结合android平台特性的网络封装库,采用api链式调用一点到底,集成cookie管理,多种缓存模式,极简https配置,上传下载 ...
- Django 上传图片和Admin站点5.2
上传图片 当Django在处理文件上传的时候,文件数据被保存在request.FILES FILES中的每个键为<input type="file" name="& ...
- tp5+linux+apache php7.1.30环境下,上传图片报错:mkdir():permission denied
做了个自己的博客,后台上传图片的时候报错如图: 首先反应是权限问题,runtime和uploads文件夹已经给了777权限了,超出菜鸟的解决范围,果断百度,但是百度了一堆,全部是关于runtime的, ...
最新文章
- 8.继续分析一破解加密码获取-最最最简单的注册机
- poj 2513 Colored Sticks( 字典树哈希+ 欧拉回路 + 并查集)
- OutputStreamWriter介绍代码实现
- 华硕t100ta做linux,华硕T100TA个人补充评测
- .net core通过多路复用实现单服务百万级别RPS吞吐
- C语言#define宏定义可能注意不到的地方
- Python 线程信号量 semaphore - Python零基础入门教程
- python文件和目录访问File and Directory Access
- android iphone字体,网站中的字体设置--兼容苹果、pc、安卓系统的字体设置
- 快手滑块验证码分析 2022/03/17
- (四)DIH导入结构化数据
- 抱薪者说 | 赛博仏客:造物者无尽藏
- C++ 小游戏 视频及资料集(3)
- 基于硬件的C(C++)语言程序设计教程5:更改Atmel Studio的语言设置
- [博应用软件]如何正确安装路由器?
- WPF开发(1)——建立WPF工程
- Python读取txt文件画Loss曲线图---txt文件转xls文件---xls文件转txt文件--xml文件转txt文件
- piv图像处理文献综述_数字图像处理文献综述
- 程序员--经典10道脑力题
- 教你羊肉炒菠菜的做法
热门文章
- Java数据结构:稀疏数组(Sparse Array)的创建和文件存取
- 添加mysql.h头文件
- 飞翔 nyoj195(贪心or 动态)
- python不支持的数据类型是_opencv python:mat数据类型= 17不支持
- oracle processes 的大小,Oracle中sessions和processes的大小关系(10g和11g不同)
- STM32——库函数版——数码管流动显示程序
- 正态分布下贝叶斯决策的引入
- 万兆网口和千兆网口区别_万兆网卡的安装以及注意事项
- 参考文献顺序_科技论文参考文献的著录规则及存在问题
- 服务器webpack构建性能,webpack性能优化——构建效率(一)