Библиотека Android Volley: как отправить изображение на сервер?
Привет, ребята!
у меня естьjpg image stored on my device
и я хочуsent it to server
(Mywebsite.com/api.php). Я хотел бы использоватьvolley library
потому что это сделано официальными разработчиками Android из Google, и я думаю, что они добавят его в SDK как можно скорее.
Прямо сейчас я использую следующий код для отправки строк на сервер:
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;
}
};
Как я могу отправить JPG на сервер с библиотекой залпа? Каждый раз, когда я отправляю что-то, мне нужно отправить это вместе с ключом API, чтобы получить информацию на сервер, поэтому я не могу изменитьMap<String, String>
вMap<String, File>
потому что мой ключ API является строкой.
Я прочитал, что есть решение изменить свое изображение наbyte[] array
а затем преобразовать его вbase64 string
формат, но я хотел бы избежать этого, если это возможно.
Есть ли другое решение для отправки изображения без преобразования его вbase64 string
?
Любые ссылки или советы приветствуются! Заранее спасибо!