我正试图使用jersey-client 1.18将一个文件上传到远程API,但我一直不知道如何上传。基本上,我想要做的工作相当于以下命令:
curl -sv "http://localhost:4567/api/image" -X POST -F "file=@test2.png" -F "description=a%20b%20dce"但是我看不出有什么方法可以使用jersey-client 1.x将文件上传为多部分/表单数据。
到目前为止,我已经尝试过(修改路径和URL以保护罪犯):
FileInputStream fileInputStream = new FileInputStream(new File("test2.png"));
Form form = new Form();
form.add("description", "a b dce");
form.add("file", IOUtils.toString(fileInputStream, "UTF-8"));
client.resource("http://localhost:4567/api/image")
.header("content-type", MediaType.MULTIPART_FORM_DATA)
.post(ClientResponse.class, form);但我只收到了400的回应。
不幸的是,由于我无法控制的情况,切换到另一个版本不是一种选择。任何帮助都将不胜感激!
发布于 2016-08-18 19:34:40
我认为这个问题已经得到了答复。你应该使用FormDataMultiPart
https://stackoverflow.com/questions/39025712
复制相似问题