Android Rxjava+Retrofit2 多图片+文字上传
来源:互联网 发布:c 数字图像处理算法 编辑:程序博客网 时间:2024/05/18 22:41
注意点:
方案一中:map.put(“files\”; filename=\”” + file.getName(), requestBody);
方案二中:builder.addFormDataPart(“files”, file.getName(), imageBody);
需与服务器一制,如:Content-Disposition: form-data; name=”files”; filename=”1.jpg”)
方案一:@Multipart@POST("upload/v1/images")Observable<HttpResult<String>> uploadImages(@Header("token") String token, @Part("appkey") RequestBody appkey, @Part("sign") RequestBody sign, @PartMap() Map<String, RequestBody> map);/** * 上传 * @param compressFile 需要上传的文件 */private void upload(List<File> compressFile) { LogUtil.e(TAG, "uploadImages: 开始上传..."); //多张图片 Map<String, RequestBody> map = new HashMap<>(); if (compressFile != null && !compressFile.isEmpty()) { for (int i = 0; i < compressFile.size(); i++) { File file = compressFile.get(i); LogUtil.e(TAG, "upload: path: " + file.getAbsolutePath()); RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file); map.put("files\"; filename=\"" + file.getName(), requestBody); } } RequestBody appkey = RequestBody.create(null, Api.APPKEY); RequestBody sign = RequestBody.create(null, Api.SIGN); mApiWrapper.uploadImages(appkey, sign, map) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { @Override public void onSubscribe(@NonNull Disposable d) { } @Override public void onNext(@NonNull Object t) { LogUtil.e(TAG, "uploadImages: 上传成功"); } @Override public void onError(@NonNull Throwable e) { } @Override public void onComplete() { }});}方案二:@Multipart@POST("upload/v1/images")Observable<HttpResult<String>> uploadImages1(@Header("token") String token, @Part List<MultipartBody.Part> partList);/** * 上传 * @param compressFile 需要上传的文件 */private void upload(List<File> compressFile) { LogUtil.e(TAG, "uploadImages: 开始上传..."); //多张图片 MultipartBody.Builder builder = new MultipartBody.Builder() .setType(MultipartBody.FORM)//表单类型 .addFormDataPart("appkey", Api.APPKEY) .addFormDataPart("sign", Api.SIGN); for (int i = 0; i < compressFile.size(); i++) { File file = compressFile.get(i); RequestBody imageBody = RequestBody.create(MediaType.parse("multipart/form-data"), file); builder.addFormDataPart("files", file.getName(), imageBody); } List<MultipartBody.Part> parts = builder.build().parts(); mApiWrapper.uploadImages(parts) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { @Override public void onSubscribe(@NonNull Disposable d) { } @Override public void onNext(@NonNull Object t) { LogUtil.e(TAG, "uploadImages: 上传成功"); } @Override public void onError(@NonNull Throwable e) { } @Override public void onComplete() { }});}
阅读全文
0 0
- Android Rxjava+Retrofit2 多图片+文字上传
- Rxjava + Retrofit2 多图上传
- retrofit2 上传多张图片
- Android Retrofit2.0-post&get请求&文件上传&结合Rxjava
- 小白装逼:Android retrofit2+rxjava
- 使用Retrofit2 RxJava 文件上传
- Android RxJava Retrofit上传图片
- Retrofit2.0 上传图片
- retrofit2.0,上传图片
- retrofit2上传图片
- Android前端RxJava2+Retrofit2;后端SpringMvc实现图片上传
- android开发:使用Retrofit2框架,如果上传图片+json参数?
- Retrofit2+RxJava
- retrofit2+rxJava
- RXJava+retrofit2
- Rxjava+Retrofit实现多图片上传
- Retrofit+rxjava上传图片
- Retrofit+RxJava上传图片
- 查看一个库的依赖
- 显著性检测的四种经典方法
- 初学HBuilder+mui
- Android studio 突然没有了svn的相关菜单了
- 利用互联检测改善智能城市的环境和资产负债表---凯利讯半导体
- Android Rxjava+Retrofit2 多图片+文字上传
- ⚔疯狂输出⚔ collection中的Set方法
- 我转行成为机器学习和无人车工程师,并收获Offer
- Java swing实现的电子相册管理系统源码
- 利用快捷键设置Bois从U盘启动
- linux下编译安装与卸载 tar.gz文件
- 第一个项目遇到的问题2
- 线性空间的一些直观感悟
- 百度ueditor编辑器将图片上传到非项目根路径(保存在磁盘上)或独立服务器解决方案