¿Cómo enviar imágenes a través del servidor Worklight sin codificación base64?
Estoy tratando de averiguar cómo enviar imágenes a mi servidor de servicios de fondo con los adaptadores Worklight. Sé que puedo enviarlos a través de adaptadores Worklight utilizando la codificación Base64, pero esto implica un 30% más de tráfico entre los servidores y una sobrecarga de procesamiento no deseada.
Por ahora estoy usando la biblioteca Phonegap FileTransfer como se muestra a continuación, pero esto crea una conexión directa entre el cliente y el servidor de servicios de fondo que no pasa por el servidor de Worklight como deseo.
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
options.mimeType="image/jpeg";
var headers = {"Content-Type": "image/jpeg"};
options.headers = headers;
var ft = new FileTransfer();
ft.upload(imageURI, encodeURI(host + "/images"), imageUploadSuccess, imageUploadFail, options);
function imageUploadSuccess(r) {
WL.Logger.debug("Submit success! HTTP Status Code = " + r.responseCode);
WL.Logger.debug("Response = " + r.response);
WL.Logger.debug("Bytes sent = " + r.bytesSent);
$.mobile.changePage('#SuccessPage');
}
function imageUploadFail(error) {
WL.Logger.debug("submit error! source = " + error.source);
WL.Logger.debug("target = " + error.target);
$.mobile.changePage('#FailPage');
}
¿Hay alguna manera de que pueda hacer eso?
Gracias de antemano.
- Editar -
Otro problema que ocurre es que cuando mi servidor backend recibe el archivo, parece estar dañado y no se puede leer como una imagen.