Java 通过PUT请求上传多部分/表单数据,不';你不能在okhttp上工作吗?
我不知道是虫子,还是我做错了什么 这是我的Java 通过PUT请求上传多部分/表单数据,不';你不能在okhttp上工作吗?,java,curl,okhttp,Java,Curl,Okhttp,我不知道是虫子,还是我做错了什么 这是我的okhttp请求: private static final MediaType MEDIA_TYPE_JPEG = MediaType.parse("image/jpeg"); protected void putImage(String path) throws IOException { RequestBody requestBody = new MultipartBuilder() .type(MultipartBuil
okhttp
请求:
private static final MediaType MEDIA_TYPE_JPEG = MediaType.parse("image/jpeg");
protected void putImage(String path) throws IOException {
RequestBody requestBody = new MultipartBuilder()
.type(MultipartBuilder.FORM)
.addPart(
Headers.of("Content-Disposition", "form-data; name=\"image\""),
RequestBody.create(MEDIA_TYPE_JPEG, new File(path)))
.build();
Request request = new Request.Builder()
.url("http://localhost:9090/")
.put(requestBody)
.build();
Timber.d(request.urlString());
okHttpClient.newCall(request).enqueue(new Callback() {
@Override public void onFailure(Request request, IOException e) {
e.printStackTrace();
}
@Override public void onResponse(Response response) throws IOException {
Timber.d(response.body().string());
}
});
}
它给出了以下错误:
我认为它只是后端代码有一个bug,但是它在curl
上工作:
curl -v -XPUT -include --form asdfasdf=@Photo_20140806_000942.jpg http://localhost:9090/
我的问题是:
putImage
是否正确并与okhttp
对齐curl
命令是否非常智能地工作,从而使其工作okhttp
做我的后端代码应该处理的额外事情您可能需要指定文件名标题。尝试如下设置
内容配置
:
Headers.of("Content-Disposition", "form-data; name=\"image\"; filename=\"Photo_20140806_000942.jpg\"")
后端代码链接对我不起作用。那个项目是公共的吗?@JesseWilson对不起,我刚刚重新启动了后端。是的,这是公开的。你说得对。这是因为
文件名;)你们能更新一下吗?这会为某人节省很多时间。再次谢谢你,伙计!