Retrofit 上传文件
文件流的形式:
@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 上传文件相关推荐
- Retrofit 上传文件显示进度及踩坑记录
因产品需求,需要实现图片上传显示文件进度.我在项目中是使用的 Retrofit 和 RxJava,虽网上不乏相关文章,然而在使用的过程中还是遇到了点坑,记录为文,谨供他人参考. 实现 我在项目中使用的 ...
- Android开发笔记(一百一十)使用http框架上传文件
HTTP上传 与文件下载相比,文件上传的场合不是很多,通常用于上传用户头像.朋友圈发布图片/视频动态等等,而且上传文件需要服务器配合,所以容易被app开发者忽略.就上传的形式来说,app一般采用htt ...
- Android --- Retrofit 上传/下载文件扩展实现进度的监听
本文使用okhttp作为client来做,其实说白了跟用okhttp做下载上传进度监听几乎一样,参考了这篇文章:Android OkHttp文件上传与下载的进度监听扩展 1. 首先我们写两个接口用来下 ...
- retrofit 上传、下载文件
2019独角兽企业重金招聘Python工程师标准>>> //上传文件: public interface FileWebService {@Multipart@POST(" ...
- 2020-12-04使用retrofit上传下载文件,监听下载进度
retrofit2上传.下载文件 一.上传文件 1.使用表单上传文件:结合Rxjava 先定义ApiService接口 @Multipart //Multipart表单 @POST("{ur ...
- Android中使用retrofit2进行网络get请求查询数据和post请求上传文件
场景 Retrofit2 Retrofit 是对 OkHttp 的封装,是主流的网络框架. 适用于Android 和 Java 的类型安全的HTTP客户端,由Square提供的. Retrofit是一 ...
- smartupload 上传文件时 把页面编码改成gbk 解决乱码
快来java1234 吧 smartupload 上传文件时,经常会发生因为把表单设置为 enctype="multipart/form-data"而出现的中文乱码问题,本人头疼好 ...
- 关于上传文件的跨域问题
在进行新框架开发的过程中,需要自定义页面组件实现脱离表单的文件(图片)上传,考虑过wex5自带的attachmentsimple的自定义写法很难受,就改用了第三方插件webuploader来实现选择文 ...
- html web上传文件原理,Web上传文件的原理及实现
本文为原创,如需转载,请注明作者和出处,谢谢! 现在有很多Web程序都有上传功能,实现上传功能的组件或框架也很多,如基于java的Commons FileUpload.还有Struts1.x和Stru ...
最新文章
- 微软和 SAP 扩展了云环境中的合作关系
- 7、Altiris cms 7.0 软件管理 下
- 如何利用OpenCV寻找轮廓的中心?
- 美国汽车协会实测:行人检测系统都是渣渣,包括特斯拉
- Google开源的AR/VR开发库Lullaby
- SAP ABAP CDS view和 HANA CDS view的区别,CDS consumption view 和 BO view 的区别
- 新的Teams API权限控制
- Razor 也可说是一个asp.net模板引擎,用不着学习 T4 了
- rpc 服务器不可用_RPC和微服务
- 0-13 sudo用户管理
- 都是打工的,为啥职场中存在着那么多勾引斗角?
- “飞天、无影、小蛮驴…”带你走进2020云栖大会
- Structs2文件上传以及预览
- 极限编程和极限编程方法采用的有效的开发实践
- Python缩进问题:IndentationError:expectedan indented block
- 讨伐Cucumber行为驱动
- 【Elasticsearch】利用kibana调整索引mapping结构
- android从应用到驱动之—camera(2)---cameraHAL的实现
- 线性回归的几种评价方法
- 【CodeForces】【BFS】【状压】718E Matvey's Birthday
热门文章
- echo 多行_【庭审现场】利用注销公司诈骗 多行不义必自毙_政务_澎湃新闻
- cordova for android hybrid 程序专题页面宽度大小显示异常问题
- pr 导入 歌词 字幕
- 深度解读《关于防范NFT相关金融风险倡议》透露哪些监管信号与数字藏品新发展之路?
- Oracle DBA手记4:数据安全警示录
- Python学习0——基础知识1
- java swing背景_java swing 设置背景图片的方法一
- 《职来职往》里的经典语录,总有一句震惊到你!
- Unity 获得Animator下某个动画片段的时长
- 敏捷.敏捷项目管理V2.Jim Highsmith