如何在POST api(Volley)的Body中发送File(Image)和String参数

时间:2016-04-02 20:00:30

标签: android android-volley

在Api中的Hashmap中发送String Params的集合。现在需要添加一个必须是Image的参数File。

POST api的主体如下所示:

Key1, Value1, Text
Key2, Value2, Text
Key3, Value3, File

我见过许多Multipart请求的例子,但没有一个解决了这个问题。 寻找方法/示例。

1 个答案:

答案 0 :(得分:0)

注意:将图像作为文件发送的替代方法。

您可以尝试将Image转换为BASE64字符串,并将其作为字符串发送。

首先,将位图转换为字节数组:

//can use lower value than 100 for more compression or change compression format as JPEG

ByteArrayOutputStream bAOS = new ByteArrayOutputStream();  
bitmap.compress(Bitmap.CompressFormat.PNG, 100, bAOS);
byte[] byteArray = bAOS.toByteArray(); 

然后,将其编码为BASE64 String:

String encodedString = Base64.encodeToString(byteArray, Base64.DEFAULT);

最后将它作为String放到你的hashmap中。