文档章节

Retrofit2.0上传图片

_
 _OUTMAN_
发布于 2016/05/18 17:14
字数 207
阅读 453
收藏 8

正常使用Multipart方式上传图片

第一种上传单个图片,第二种上传多个图片

@Multipart
@POST(ACTION_URL)
Observable<ResponseBody> uploadFiles(@Part("image\"; filename=\"文件名.jpg") RequestBody file);

@Multipart @POST(ACTION_URL)
Observable<ResponseBody> uploadFiles(@Query("a") String type, @PartMap Map<String, RequestBody> requestBodys);

有时上传图片,需要上传几个参数

我最开始是使用@Part标签设置的,但服务器接收不到数据,可能是类型的原因

@Multipart @POST(ACTION_URL)
Observable<ResponseBody> uploadFiles(@Query("a") String type, @PartMap Map<String, RequestBody> requestBodys,@Part("userid") String userid);

改成下面的就可以了

@Multipart @POST(ACTION_URL)
Observable<ResponseBody> uploadFiles(@Query("a") String type, @PartMap Map<String, RequestBody> requestBodys,@Part("userid") RequestBody userid);

或者直接放到Map里

RequestBody useridBody = RequestBody.create(MediaType.parse("text/plain"), userid);
RequestBody fileBody = RequestBody.create(MediaType.parse("image/*"), imageFile);

Map<String, RequestBody> map = new HashMap<>();
map.put("userid", useridBody);
map.put("photo\"; filename=\"" + imageFile.getName(), fileBody);

注意,photo是服务器接收的名称,filename必须写

 

 

© 著作权归作者所有

共有 人打赏支持
_
粉丝 20
博文 130
码字总数 55043
作品 0
海淀
程序员
一个完整的壁纸应用——[仿爱壁纸],从设计到实现的过程

一个完整的壁纸应用——[仿爱壁纸],从设计到实现的过程 正如我的GitHub上的README上说的,偶然之间发现了一个接口,觉得挺有意思的,于是乎,就开始着手的写一个壁纸类应用了,其实之前就一...

刘桂林
2017/01/21
0
0
Retrofit2.0 使用教程

版权声明,转载请著名出处:http://www.jianshu.com/p/73a803b0b026 引言 俗话说:代码是程序员的最好的教程,这篇文章记录的是我在学习使用Retrofit的代码笔记,其中里面的很多注解或原理我...

在代码下成长
2017/09/06
0
0
node.js项目架构

1,node.js后台:express4.0框架控制路由,可同时设计api和前端页面模版。mongodb设计数据库,用mongoose ORM映射框架。async模块提供同步和异步操作。crypto加密模块给密码加密处理。 2,a...

761218914
2016/05/09
13
0
Aaron/MaterialUi

#MaterialUi ##题外: 构建一个基于material风格的android工具平台。 ##开发环境 androidstudio jdk8 ##主要依赖包介绍 1、网络请求框架:retrofit2.0 2、注解绑定控件:butterknife7.0.1 3、...

Aaron
2017/03/06
0
0
Android Http通讯模块封装

大多数的Android应用程序都会使用HTTP协议来发送和接收网络数据,而Android中主要提供了两种方式来进行HTTP操 作,HttpURLConnection和HttpClient。这两种方式都支持HTTPS协议、以流的形式进...

iSnowFlake
2015/08/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

最全最强解析:支付宝钱包系统架构内部剖析(架构图)

支付宝系统架构概况 典型处理默认 资金处理平台 财务会计 支付清算 核算中心 交易 柔性事务 支付宝的开源分布式消息中间件–Metamorphosis(MetaQ) Metamorphosis (MetaQ) 是一个高性能、高可...

晨猫
29分钟前
4
0
竞品分析

那什么样的场景需要用关键纬度分析法分析竞品呢? 竞品分析的目的是为了看竞品们和自己产品重合的业务都具备哪些功能点,以及这些功能是怎么做的,以此确定自己产品的优化方向。 竞品们的业务...

于谦老师
37分钟前
1
0
OSChina 周三乱弹 —— 公司女同事约我

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子:分享水木年华的单曲《蝴蝶花(2002年大提琴版)》 《蝴蝶花(2002年大提琴版)》- 水木年华 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
今天
1K
16
Linux环境搭建 | VMware下共享文件夹的实现

在进行程序开发的过程中,我们经常要在主机与虚拟机之间传递文件,比如说,源代码位于虚拟机,而在主机下阅读或修改源代码,这里就需要使用到 「共享文件」 这个机制了。本文介绍了两种共享文...

良许Linux
今天
9
0
JUC锁框架——AQS源码分析

JUC锁介绍 Java的并发框架JUC(java.util.concurrent)中锁是最重要的一个工具。因为锁,才能实现正确的并发访问。而AbstractQueuedSynchronizer(AQS)是一个用来构建锁和同步器的框架,使用A...

长头发-dawn
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部