gpt4 book ai didi

java - 如何从控制台上传带有其他数据的文件

转载 作者:太空宇宙 更新时间:2023-11-04 12:34:24 24 4
gpt4 key购买 nike

我想将文件上传到我的网络服务器。我的服务器实现了 RESTful API。要上传文件,我应该传递 4 个参数:file、file_name、project、version

我想从控制台上传带有这 3 个参数的文件。我试过这个

URL obj = new URL(MY_URL);
HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

con.setRequestMethod("POST");

con.setDoOutput(true);

ObjectOutputStream objectOutputStream = new ObjectOutputStream(con.getOutputStream());
ToSend send = new ToSend();
send.file = Files.readAllBytes(Paths.get("path"));
send.file_name = "name";
send.project = "test";
send.version = "1";
objectOutputStream.writeObject(send);
objectOutputStream.flush();
objectOutputStream.close();

我发送的对象看起来像这样

class ToSend implements Serializable {
byte[] file;

String file_name;

String project;

String version;
}

我得到线程“main”java.io.IOException中的异常:服务器返回HTTP响应代码:URL的400:

如果这很重要,我用 Java+Spring 编写的服务器及其方法具有下一个签名

@RequestMapping(value = "/", method = RequestMethod.POST)
public @ResponseBody
Response<Boolean> upload(
@RequestParam("project") String project,
@RequestParam("version") String version,
@RequestParam("file_name") String fileName,
@RequestParam("file") MultipartFile file
) throws ServiceException, BadFileExtension {
boolean success = storageService.uploadFile(file, project, fileName, version);

return builder.get(success);
}

最佳答案

关于java - 如何从控制台上传带有其他数据的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37479172/

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