gpt4 book ai didi

java - Http 客户端 POST 上传文件 - MultipartException : Curren t request is not a multipart request

转载 作者:行者123 更新时间:2023-12-02 10:52:33 27 4
gpt4 key购买 nike

我需要使用httpclient 4.5测试文件上传

以下方法用于上传文件:

public Response postwithFile(String url, File file) {
HttpPost postMethod = new HttpPost(PropertyUtil.loadEnvironment().getBaseUrl() + url);
postMethod.setHeader("Content-Type","multipart/form-data");
FileBody fileBody = new FileBody(file, ContentType.MULTIPART_FORM_DATA);
//_addAuthHeader(postMethod);
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
// fileParamName should be replaced with parameter name your REST API expect.
builder.addPart("upfile", fileBody);
HttpEntity entity = builder.build();
postMethod.setEntity(entity) ;
return execute(postMethod);
}

该文件没有任何扩展名,但文件内容为 JSON。

在调用上述方法时,我收到 500 错误,服务器日志中出现以下异常:

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.web.multipart.MultipartException: Curren
t request is not a multipart request
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)

有人可以帮我解决我做错的地方吗?

最佳答案

使用以下内容

 builder.addBinaryBody(
"upfile",
new FileInputStream(file),
ContentType.APPLICATION_OCTET_STREAM,
file.getName()
);

而不是

 builder.addPart("upfile", fileBody);

此外,不再需要以下内容,因为它也已被弃用:-

FileBody fileBody = new FileBody(file, ContentType.MULTIPART_FORM_DATA);

关于java - Http 客户端 POST 上传文件 - MultipartException : Curren t request is not a multipart request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52054729/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com