公司之前的项目中需要用到同时上传多文件,多参数,多数组的形式,因为使用的网络框架是自己封装的Rxjava +Retrofit 所以就研究了一下文件的上传方法,不看不知道,单个类型上传还挺简单,上面那些放在一起,差点把我搞蒙了,主要还是对Retrofit的使用不深刻,写此篇文章,用来记录一些心得:
private String guessMimeType(String path) {
FileNameMap fileNameMap = URLConnection.getFileNameMap();
String contentTypeFor = fileNameMap.getContentTypeFor(path);
if (contentTypeFor == null) {
contentTypeFor = “application/octet-stream”;
}
return contentTypeFor;
}
public void photos() {
ArrayList<String> z= mPhotosSnpl.getData();
List<MultipartBody.Part> photos = new ArrayList<>(photosList.size());
for (int i = 0; i < z.size(); i++) {
File file = new File(photosList.get(i));
RequestBody photoRequestBody = RequestBody.create(MediaType.parse(guessMimeType(file.getPath())), file);
Mult