Android volley está enviando información dos veces con la carga de la imagen
Estoy tratando de enviar una imagen con mis datos de publicación a mi servidor desde Android. Para lograr esto, basé 64 codificé mi imagen en cadena y la envié usando la biblioteca de android volley. Esto está causando problemas sin embargo. Por alguna razón, a veces envía el mensaje dos veces, y no puedo entender por qué. A continuación se muestra la función que se llama para enviar la solicitud de publicación. Puse una marca en elString url = "http://domain.com/ajax_ws.php";
y luego uno en elprotected Map<String, String> getParams() {
Lo que encontré es elString url = ...
sólo se llama una vez, pero cuando envía dos, elprotected Map...
Se llama dos veces. No puedo encontrar ninguna documentación sobre la descarga de Android, así que no sé por qué sucede esto. El mapa de bits se redimensiona, por lo que la cadena de imagen está entre 100 y 200 caracteres de manera consistente. Pensé que tal vez era un problema de tamaño, pero mi servidor está recibiendo las imágenes y decodificándolas y todo está bien.
public void Sharing() {
pd = ProgressDialog.show(getParent(), null, "Please Wait...");
final String caption = mEtMessage.getText().toString();
RequestQueue queue = Volley.newRequestQueue(this);
String url = "http://domain.com/ajax_ws.php";
StringRequest postRequest = new StringRequest(
Request.Method.POST,
url,
new MyStringListener(),
new MyErrorListener()
) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("token", "secretToken");
params.put("mode", "createVoucher");
params.put("user_id", ActivityLogin.id);
params.put("deal_id", ActivitySharing.id_deal);
params.put("user_id_company", ActivityRestaurantDetails.res.getId());
params.put("user_img", pathImage);
params.put("caption", caption);
params.put("company_id", ActivityRestaurantDetails.res.getId());
return params;
}
};
queue.add(postRequest);
}
¿Alguna idea de por qué esto podría estar sucediendo?