6

我们有文件的字节数组,我们想将它作为文件上传。 FileBodyFile作为参数获取,但我们有一个字节数组。

一种解决方案是将字节数组保存到文件中然后发送,但它不适合我。

byte b[]= new byte[1000];
//fill b
MultipartEntity form = new MultipartEntity();
form.addPart("file", new FileBody(/* b? */));

谢谢。

4

2 回答 2

11

你可以做类似的事情

HttpClient client=null;
byte b[]= new byte[1000];
MultipartEntity form = new MultipartEntity();
ContentBody cd = new InputStreamBody(new ByteArrayInputStream(b), "my-file.txt");
form.addPart("file", cd);

HttpEntityEnclosingRequestBase post = new HttpPost("");//If a PUT request then `new HttpPut("");`
post.setEntity(form);
client.execute(post);
于 2013-03-14T10:11:11.730 回答
5

您可以使用ByteArrayBody代替 InputStreamBody 或 FileBody。

HttpClient client=null;
byte b[]= new byte[1000];
MultipartEntity form = new MultipartEntity();
ContentBody cd = new ByteArrayBody(b, "my-file.txt");
form.addPart("file", cd);

HttpEntityEnclosingRequestBase post = new HttpPost("");
post.setEntity(form);
client.execute(post);
于 2015-04-13T19:47:38.217 回答