Android Volley Library: como enviar uma imagem para o servidor?
Olá pessoal!
eu tenho umjpg image stored on my device
e eu querosent it to server
(mywebsite.com/api.php). Eu gostaria de usarvolley library
porque é feito pelos desenvolvedores oficiais do android do google e acho que eles serão adicionados ao sdk o mais rápido possível.
No momento, estou usando o código a seguir para enviar Strings para o servidor:
postRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
// code here for response
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// code here for error response
}
}
) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
// the POST parameters:
params.put("key", "myApiKey");
params.put("data","stringOfMyData");
return params;
}
};
Como eu poderia enviar o jpg para o servidor com a biblioteca de vôlei? Toda vez que envio algo, preciso enviá-lo junto com a chave da API para receber informações para o servidor, então não posso mudarMap<String, String>
paraMap<String, File>
porque minha chave de API é uma sequência.
Eu li que existe uma solução para mudar minha imagem para umabyte[] array
e depois convertê-lo para umbase64 string
formato, mas eu gostaria de evitar isso, se possível.
Existe alguma outra solução para enviar a imagem sem convertê-la em umbase64 string
?
Qualquer referência ou conselho é bem-vindo! Desde já, obrigado!