gpt4 book ai didi

java - 使用 HttpPost 发送文件后文件被损坏

转载 作者:行者123 更新时间:2023-12-01 09:53:39 25 4
gpt4 key购买 nike

我尝试做的是将数据作为字符串发送到我的外部服务器之一。但是在我设置请求后,我的文件系统上的文件被损坏。

这是我将文件读入字符串的方法

File file = new File("/some/path/on/my/hdd/testimg.png");
FileInputStream fis = new FileInputStream(file);
byte[] binaryData = new byte[(int) file.length()];
fis.read(binaryData);
String content = Base64.encodeBase64URLSafeString(binaryData);
fis.close();

这是我如何执行 POST 请求:

HttpClient client = HttpClientBuilder.create().build();
HttpPost request = new HttpPost("some.url");
... some headers ...
request.setEntity(new StringEntity(this.body)); // this.body is the String
HttpResponse response = client.execute(request); // HERE THE FILE GETS CORRUPTED
InputStream is = response.getEntity().getContent();
this.result = IOUtils.toString(is, "UTF-8");

有人可以告诉我为什么我的硬盘上的文件 /some/path/on/my/hdd/testimg.png 在我发送请求后会损坏吗?

感谢您的建议!

最佳答案

正如您所说,您的本地文件系统上的文件在请求后已损坏,只有几种可能性:

  • 它已经事先损坏了
  • 程序中还有另一个地方可以写入文件
  • 如果您向其发送请求的服务器在同一台计算机上运行,​​则该服务器上运行的应用程序可能是罪魁祸首

关于java - 使用 HttpPost 发送文件后文件被损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37410009/

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