文件流的形式:

    @Multipart@POST("/upload")LiveData<ApiResponse<String>> voucherUpload(@Part MultipartBody.Part part);
public LiveData<ApiResponse<String>> getVoucherUpload(LiveData path) {LiveData voucherData = Transformations.switchMap(data, input -> {File file = new File(path);RequestBody fileRQ = RequestBody.create(MediaType.parse("image/*"), file);MultipartBody.Part part = MultipartBody.Part.createFormData("picture", file.getName(), fileRQ);return getApiService().voucherUpload(part);});return voucherData;}

方式二:

public static Call<Bean> upload(UploadApi api,byte[] img) {Map<String, Object> params = new HashMap<>();RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), img);return api.upload(params,requestBody);
}@Multipart
@POST("upload")
Call<Bean> upload(@QueryMap Map<String, Object> maps, @Part("img\"; filename=\"img.jpg\"")RequestBody img);MediaType.parse("multipart/form-data")    对应    @Multipart@Part("img\"; filename=\"img.jpg\"")RequestBody img    img是上传的时候,参数名

文件转为二进制:

/**** @param spec 图片路径* @return url请求结果*/public static byte[] BufferStreamForByte(String spec) {byte[] content = null;try {BufferedInputStream bis = null;ByteArrayOutputStream out = null;try {FileInputStream input = new FileInputStream(spec);bis = new BufferedInputStream(input, 1024);byte[] bytes = new byte[1024];int len;out = new ByteArrayOutputStream();while ((len = bis.read(bytes)) > 0) {out.write(bytes, 0, len);}bis.close();content = out.toByteArray();} finally {if (bis != null)bis.close();if (out != null)out.close();}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return content;}

Retrofit 上传文件相关推荐

  1. Retrofit 上传文件显示进度及踩坑记录

    因产品需求,需要实现图片上传显示文件进度.我在项目中是使用的 Retrofit 和 RxJava,虽网上不乏相关文章,然而在使用的过程中还是遇到了点坑,记录为文,谨供他人参考. 实现 我在项目中使用的 ...

  2. Android开发笔记(一百一十)使用http框架上传文件

    HTTP上传 与文件下载相比,文件上传的场合不是很多,通常用于上传用户头像.朋友圈发布图片/视频动态等等,而且上传文件需要服务器配合,所以容易被app开发者忽略.就上传的形式来说,app一般采用htt ...

  3. Android --- Retrofit 上传/下载文件扩展实现进度的监听

    本文使用okhttp作为client来做,其实说白了跟用okhttp做下载上传进度监听几乎一样,参考了这篇文章:Android OkHttp文件上传与下载的进度监听扩展 1. 首先我们写两个接口用来下 ...

  4. retrofit 上传、下载文件

    2019独角兽企业重金招聘Python工程师标准>>> //上传文件: public interface FileWebService {@Multipart@POST(" ...

  5. 2020-12-04使用retrofit上传下载文件,监听下载进度

    retrofit2上传.下载文件 一.上传文件 1.使用表单上传文件:结合Rxjava 先定义ApiService接口 @Multipart //Multipart表单 @POST("{ur ...

  6. Android中使用retrofit2进行网络get请求查询数据和post请求上传文件

    场景 Retrofit2 Retrofit 是对 OkHttp 的封装,是主流的网络框架. 适用于Android 和 Java 的类型安全的HTTP客户端,由Square提供的. Retrofit是一 ...

  7. smartupload 上传文件时 把页面编码改成gbk 解决乱码

    快来java1234 吧 smartupload 上传文件时,经常会发生因为把表单设置为 enctype="multipart/form-data"而出现的中文乱码问题,本人头疼好 ...

  8. 关于上传文件的跨域问题

    在进行新框架开发的过程中,需要自定义页面组件实现脱离表单的文件(图片)上传,考虑过wex5自带的attachmentsimple的自定义写法很难受,就改用了第三方插件webuploader来实现选择文 ...

  9. html web上传文件原理,Web上传文件的原理及实现

    本文为原创,如需转载,请注明作者和出处,谢谢! 现在有很多Web程序都有上传功能,实现上传功能的组件或框架也很多,如基于java的Commons FileUpload.还有Struts1.x和Stru ...

最新文章

  1. 微软和 SAP 扩展了云环境中的合作关系
  2. 7、Altiris cms 7.0 软件管理 下
  3. 如何利用OpenCV寻找轮廓的中心?
  4. 美国汽车协会实测:行人检测系统都是渣渣,包括特斯拉
  5. Google开源的AR/VR开发库Lullaby
  6. SAP ABAP CDS view和 HANA CDS view的区别,CDS consumption view 和 BO view 的区别
  7. 新的Teams API权限控制
  8. Razor 也可说是一个asp.net模板引擎,用不着学习 T4 了
  9. rpc 服务器不可用_RPC和微服务
  10. 0-13 sudo用户管理
  11. 都是打工的,为啥职场中存在着那么多勾引斗角?
  12. “飞天、无影、小蛮驴…”带你走进2020云栖大会
  13. Structs2文件上传以及预览
  14. 极限编程和极限编程方法采用的有效的开发实践
  15. Python缩进问题:IndentationError:expectedan indented block
  16. 讨伐Cucumber行为驱动
  17. 【Elasticsearch】利用kibana调整索引mapping结构
  18. android从应用到驱动之—camera(2)---cameraHAL的实现
  19. 线性回归的几种评价方法
  20. 【CodeForces】【BFS】【状压】718E Matvey's Birthday

热门文章

  1. echo 多行_【庭审现场】利用注销公司诈骗 多行不义必自毙_政务_澎湃新闻
  2. cordova for android hybrid 程序专题页面宽度大小显示异常问题
  3. pr 导入 歌词 字幕
  4. 深度解读《关于防范NFT相关金融风险倡议》透露哪些监管信号与数字藏品新发展之路?
  5. Oracle DBA手记4:数据安全警示录
  6. Python学习0——基础知识1
  7. java swing背景_java swing 设置背景图片的方法一
  8. 《职来职往》里的经典语录,总有一句震惊到你!
  9. Unity 获得Animator下某个动画片段的时长
  10. 敏捷.敏捷项目管理V2.Jim Highsmith