这是Retrofit接口代码
Retrofit 调用代码
Retrofit怎么弄都不行 不能成功,但是我用 ( useLibrary 'org.apache.http.legacy')的httpclient可以上传,以下是调用方法:
这是php服务器端接收图片代码
这是Retrofit接口代码
Retrofit 调用代码
Retrofit怎么弄都不行 不能成功,但是我用 ( useLibrary 'org.apache.http.legacy')的httpclient可以上传,以下是调用方法:
这是php服务器端接收图片代码
Map<String, RequestBody> photoRequestBodyMap = new HashMap<>();
photoRequestBodyMap.put("Content", RequestBody.create(MediaType.parse("text/plain"), et_body.getText().toString()));
for (int i = 0; i < picList.size(); i++) {
File file = new File(picList.get(i));
RequestBody requestBody = RequestBody.create(MediaType.parse("image/*"), file);
String key = "image\";filename=\"" + file.getName();
photoRequestBodyMap.put(key, requestBody);
} catch (Exception e) {
}
}
netApiInterface
.postMoment(photoRequestBodyMap)
我是这样的。
关于图片上传时要用的key,网上有多种说法。
我这边,实测 String key = "image";filename="" + file.getName();可行
方法注解只使用POST,参数注解也只使用BODY,以及单独构造MultipartBody进行上传。
retrofit2.0对上传文件支持并不那么简洁,应该去熟悉okhttp
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
我是这样写的 @Part("image\"; filename=\"image.png\" ") RequestBody image