我尝试做的是将数据作为字符串发送到我的一个外部服务器。但是在我设置了Request之后,我文件系统上的文件就被破坏了。
以下是我将文件读入String
的方法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
在发送请求后会被损坏吗?
感谢您的建议!
答案 0 :(得分:1)
正如您所说,本地文件系统上的文件在请求后已损坏,只有几种可能性: