Как отправить изображения через сервер Worklight без base64-кодировки?
Я пытаюсь выяснить, как отправлять изображения на свой внутренний сервер с помощью адаптеров Worklight. Я знаю, что могу отправлять их через адаптеры Worklight, используя кодировку Base64, но это подразумевает примерно на 30% больше трафика между серверами и некоторые нежелательные накладные расходы на обработку.
Сейчас я использую библиотеку PhoneGap FileTransfer, как показано ниже, но это создает прямое соединение между клиентом и внутренним сервером, не проходя через сервер Worklight, как мне нужно.
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');
}
Есть ли способ, которым я могу это сделать?
Заранее спасибо.
-- Редактировать --
Другая проблема, которая возникает, заключается в том, что когда мой бэкэнд-сервер получает файл, он кажется поврежденным и не может быть прочитан как изображение.