Retrofit2.0 上传图片
来源:互联网 发布:云网络 编辑:程序博客网 时间:2024/06/06 09:02
使用Retrofit2.0上传图片时,有三种方法可以上传。
1:使用@Part(“file\”; filename=\”avatar.jpg”) RequestBody的方式
/** * 2.3修改用户头像,使用@Part("file\"; filename=\"avatar.jpg") RequestBody的方式 * @return */ @Multipart @POST(Api.uploadUserImage) Observable<Response<String>> uploadUserImage(@Query("uid") String uid, @Query("token") String token, @Part("file\"; filename=\"avatar.jpg") RequestBody avatar);
//调用 public Observable<String> uploadUserImage(String uid, String token, String appKey,File file) { RequestBody requestBody = RequestBody.create(MediaType.parse("image/*"), file); Observable<Response<String>> uploadUserImage = create(TestApi.class).uploadUserImage(uid,token,requestBody); return uploadUserImage.compose(this.<String>applySchedulers()); }
2:使用@Multipart,@Query和@Part MultipartBody.Part的方式。
/** * 2.3修改用户头像,使用@Multipart,@Query和@Part MultipartBody.Part的方式。 * @return */ @Multipart @POST(Api.uploadUserImage) Observable<Response<String>> uploadUserImage(@Query("uid") String uid, @Query("token") String token, @Part MultipartBody.Part avatar);
//调用 public Observable<String> uploadUserImage(String uid, String token,File file) { RequestBody requestBody = RequestBody.create(MediaType.parse("image/*"), file); MultipartBody.Part fileBody = MultipartBody.Part.createFormData("file", file.getName(),requestBody); Observable<Response<String>> uploadUserImage = create(TestApi.class).uploadUserImage(uid,token,fileBody); return uploadUserImage.compose(this.<String>applySchedulers()); }
3:使用@Body MultipartBody的方式。
/** * 2.3修改用户头像,使用@Body MultipartBody的方式。 * @param body * @return */ @POST(Api.uploadUserImage) Observable<Response<String>> uploadUserImage(@Body MultipartBody body);
//调用 public Observable<String> uploadUserImage(String uid, String token,File file) { RequestBody requestBody = RequestBody.create(MediaType.parse("image/*"), file); MultipartBody.Builder builder = new MultipartBody.Builder(); builder.addFormDataPart("file", file.getName(), requestBody); builder.addFormDataPart("uid", uid); builder.addFormDataPart("token", token); builder.setType(MultipartBody.FORM); MultipartBody multipartBody = builder.build(); Observable<Response<String>> uploadUserImage = create(TestApi.class).uploadUserImage(multipartBody); return uploadUserImage.compose(this.<String>applySchedulers()); }
0 0
- Retrofit2.0 上传图片
- retrofit2.0,上传图片
- retrofit2.0图片上传filename问题
- Retrofit2.0:上传图片到PHP
- Retrofit2.0上传图片文件件整理
- retrofit2上传图片
- retrofit2 上传多张图片
- Retrofit2.0进行图片上传(后端Spring MVC)
- retrofit2+okhttp3图片上传及进度监听
- Android Rxjava+Retrofit2 多图片+文字上传
- Retrofit2.0轻松实现上传
- Retrofit2.0 带文本多图片上传及后台spring mvc 文本图片接收
- 安卓学习笔记---Retrofit2.0 实现图文(参数+图片)上传方法总结
- Rxjava2+Retrofit2上传图片加参数失败问题解决
- Android前端RxJava2+Retrofit2;后端SpringMvc实现图片上传
- android开发:使用Retrofit2框架,如果上传图片+json参数?
- retrofit2.0 使用笔记-文件上传功能
- Retrofit2.0 上传文件和下载文件
- ajax + ajaxfileupload 上传文件
- IN、EXISTS和LEFT JOIN,NOT IN、NOT EXISTS和INNER JOIN在存在与不存在的查询效率
- Maven创建的Web项目无法使用EL表达式
- iOS 关于UIImage的处理总结
- swift计算机是怎么工作的
- Retrofit2.0 上传图片
- RTOS与linux区别
- 如何正确配置Nginx+PHP
- Maven知识点记录 - profile
- 用js实现倒计时和在页面显示当前时间
- app缓存策略
- JavaScript数组去重的几种方法
- 数据库查询优化
- Android设计模式--推荐使用的两种单例模式