发表于: 2017-01-17 00:08:50

1 768


今天完成的事情:实现了交易流水接口和投资详情接口
明天计划的事情:继续完成接口文档中的内容
遇到的问题:基本的网络请求(get,post)会了,但是其他的还是不太了解,原理不是很清楚。head和body看了一些博客也没看太明白
收获:1.使用retrofit进行网络请求,并在请求体(RequestBody)中添加数据

@Multipart //上传文件使用@Multipart注解 

@POST(“网址”)

Call<String> uploadPicture(

@Part("token") RequestBody token, //使用@Part注解向RequestBody中添加参数 一般参数类型都为RequestBody,可以使用转换器Convert转为其他类型

@Part MultipartBody.Part file);  //上传文件

RequestBody requestFile = RequestBody.create(MediaType.parse("application/otcet-stream"), new File(s));                       //创建RequestBody对象,第二个参数为要上传的文件,其他的目前看不太懂。。

MultipartBody.Part body = MultipartBody.Part.createFormData("file", "share.png", requestFile);

创建Part对象,第一个参数为键名,第二个为文件名,第三个是RequestBody对象

uploadPicture(RequestBody.create(MediaType.parse("multipart/form-data"), "tokenValue"), body);

注意:在方法上同时使用@Multipart和@POST注解时,不能使用@FormUrlEncoded注解,因为@Multipart和@FormUrlEncoded的内部都是对head进行限制,会     冲突。所以使用@Multipart时,参数就不能使用@Field修饰了,使用@Part。不然程序会崩溃。



返回列表 返回列表
评论

    分享到