Javascript 仅使用Cordova应用程序的URL将图像发布到PHP

Javascript 仅使用Cordova应用程序的URL将图像发布到PHP,javascript,php,jquery,ajax,cordova,Javascript,Php,Jquery,Ajax,Cordova,仅给定URL或FileEntry对象。如何将图像发布到PHP脚本?我没有可以绘制的表单或DOM,只有FileEntry.nativeURL中图像的URL。 我试着遵循这一点,但它似乎需要DOM。 此脚本将独立于任何页面运行,因此无法使用任何特定页面中的任何内容 谢谢。问题解决了,我不得不要求自己将文件转换为blob,然后将其放入FormData对象并发布 imageData.image_path='file://etc' return new Promise(function (resolve,

仅给定URL或FileEntry对象。如何将图像发布到PHP脚本?我没有可以绘制的表单或DOM,只有FileEntry.nativeURL中图像的URL。 我试着遵循这一点,但它似乎需要DOM。 此脚本将独立于任何页面运行,因此无法使用任何特定页面中的任何内容


谢谢。

问题解决了,我不得不要求自己将文件转换为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();
});

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

您是在什么环境下发出
POST
请求的?您可以通过脚本访问CLI?Javascript Cordova的服务器,该脚本存储在localstorage中,并在满足条件时运行,如在线、wifi等。由于该脚本是存储然后检索的,因此它将失去对DOM的所有访问权,并且无法确定它在哪个页面上。但是,我使用的是jquerymobile,因此如果需要,我可以在data role=页面之外追加,但我不喜欢这样做。