Javascript 仅使用Cordova应用程序的URL将图像发布到PHP
仅给定URL或FileEntry对象。如何将图像发布到PHP脚本?我没有可以绘制的表单或DOM,只有FileEntry.nativeURL中图像的URL。 我试着遵循这一点,但它似乎需要DOM。 此脚本将独立于任何页面运行,因此无法使用任何特定页面中的任何内容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,
谢谢。问题解决了,我不得不要求自己将文件转换为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=页面之外追加,但我不喜欢这样做。