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!

questionAnswers(1)

yourAnswerToTheQuestion