仅使用Cordova app中的URL将图像发布到PHP

时间:2017-11-16 22:29:59

标签: javascript php jquery ajax cordova

仅给出URL或FileEntry对象。如何将图像发布到PHP脚本?我没有要绘制的表单或DOM,只是FileEntry.nativeURL中图像的URL。 我尝试了这个,但似乎需要DOM。 POST an image to PHP in AJAX 此脚本将从任何页面分离运行,因此它无法使用任何特定页面中的任何内容。

感谢。

1 个答案:

答案 0 :(得分:2)

解决了,不得不请求我自己的文件将其转换为blob,然后将其放在FormData对象中并发布。

imageData.image_path='file://etc'
return new Promise(function (resolve, reject) {
    var oReq = new XMLHttpRequest();
    oReq.responseType = "blob";
    oReq.onload = function (oEvent) {
         var blob = oReq.response;
         var formData = new FormData();
         formData.append("image", blob);
         var sendImage = new XMLHttpRequest();
         sendImage.open("POST", "https://website/upload-handler");
         sendImage.onload = function (oEvent) {
             resolve(oEvent);
         };
         sendImage.onerror = function (e) {
             reject(e);
         };
         sendImage.send(formData);
    };
    oReq.onerror = function (e) {
        reject(e);
    };
    oReq.open("GET", imageData.image_path, true);
    oReq.send();
});

这是解决方案的一部分。我的排队系统使用返回的承诺继续重试,直到成功。