我正在尝试了解如何使用 Worklight 适配器将图像发送到我的后端服务器。我知道我可以使用 Base64 编码通过 Worklight 适配器发送它们,但这意味着服务器之间的流量增加了大约 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');
}
有没有办法我可以做到这一点?
先感谢您。
- 编辑 -
发生的另一个问题是,当我的后端服务器接收到文件时,它似乎已损坏并且无法作为图像读取。