Senden von Bildern über Worklight Server ohne Base64-Codierung
Ich versuche herauszufinden, wie ich mit Worklight-Adaptern Bilder an meinen Back-End-Server senden kann. Ich weiß, dass ich sie mithilfe der Base64-Codierung über Worklight-Adapter senden kann, aber dies impliziert etwa 30% mehr Verkehr zwischen den Servern und einen unerwünschten Verarbeitungsaufwand.
Im Moment verwende ich die Phonegap FileTransfer-Bibliothek, wie unten gezeigt. Dadurch wird jedoch eine direkte Verbindung zwischen dem Client und dem Back-End-Server hergestellt, die nicht wie gewünscht über den Worklight-Server erfolgt.
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');
}
Gibt es eine Möglichkeit, wie ich das machen kann?
Danke im Voraus.
- Bearbeiten -
Ein weiteres Problem besteht darin, dass mein Back-End-Server die Datei als beschädigt ansieht und nicht als Bild gelesen werden kann.