Android开发使用retrofit上传文件和多个参数一起时失败问题
来源:互联网 发布:淘宝镁光内存条 编辑:程序博客网 时间:2024/05/02 01:11
最近使用retrofit上传文件和参数时发现上传直接失败,于是查询各种资料发现是因为retrofit上传文件时底层限制问题,可是换作另外方法上传就可以了,记录下;
一,服务器让传递的参数和内容
二,retrofit接口内容
@Multipart @POST Call<WebResponseBean> uploadFile(@Url String url,@Part MultipartBody.Part file, @PartMap Map<String, RequestBody> params);
三,代码中调用封装图片上传工具
public class ImageUploadUtil { private ImageUploadUtil(){}; public static void loadFile(final Context context,String url, File file, Map map){ ApiService apiService = new RetrofitHttpUtil(context).getApiService(); RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file); MultipartBody.Part body = MultipartBody.Part.createFormData("upload", file.getName(), requestFile); apiService.uploadFile(url,body,map) .enqueue(new Callback<WebResponseBean>() { @Override public void onResponse(Call<WebResponseBean> call, Response<WebResponseBean> response) { String msg = response.body().msg; ToastUtil.show(context,msg); } @Override public void onFailure(Call<WebResponseBean> call, Throwable t) { } }); }}
4,上传参数处理成retrofit底层需要的 “text/plain”
private HashMap<String, RequestBody> setParams(String tag) { HashMap<String, RequestBody> map = new HashMap<>(); map.put("uid", toRequestBody(uid)); map.put("act", toRequestBody("UploadImage")); map.put("tag", toRequestBody(tag)); return map; } private RequestBody toRequestBody(String value) { RequestBody requestBody = RequestBody.create(MediaType.parse("text/plain"), value); return requestBody; }
阅读全文
2 0
- Android开发使用retrofit上传文件和多个参数一起时失败问题
- Android Retrofit 实现(图文上传)文字(参数)和多张图片一起上传
- Android Retrofit 实现文字(参数)和多张图片一起上传
- Android Retrofit 实现文字(参数)和多张图片一起上传
- android-async-http使用一个参数上传多个文件
- Retrofit之多文件多参数上传
- 文件和参数一起上传到服务器
- retrofit文件上传和拦截器使用
- Android 一个参数多个文件上传
- 使用Retrofit上传文件
- Retrofit 文件(图片)和参数同时上传的方法
- android 文件和数据一起上传
- 带进度显示的单个和多个 Retrofit+Rxjava2文件上传
- Android Retrofit 上传文件图片
- Android使用AsyncHttpClient上传多个文件
- Android post请求时参数上传失败
- secureCRT使用rz命令上传文件失败问题--一直中断开发机
- Android端利用RetroFit实现多文件上传
- gdb用法
- MFC分组Radio Button的使用
- python cx_oracle 安装 win7/8/10 64位
- valgrind 的使用简介
- springboot【3】web开发之构建RESTful API与单元测试
- Android开发使用retrofit上传文件和多个参数一起时失败问题
- 期末总结篇
- 将程序添加到环境变量
- 非递归dfs树
- El表达式
- jsp总结
- http webservice socket的区别
- 异常处理
- SpringAOP编程实例