2017-11-16 9 views
1

URLまたはFileEntryオブジェクトを指定すると、イメージをPHPスクリプトにPOSTするにはどうすればいいですか? FileEntry.nativeURLからの画像へのURLだけを描画するフォームやDOMはありません。 これを試してみましたが、DOMが必要なようです。 POST an image to PHP in AJAX このスクリプトは任意のページから切り離されて実行されるため、特定のページから何も使用できません。CordovaアプリのURLのみを使用してPHPに画像をアップロードする

ありがとうございました。

+0

どのような環境から、「POST」リクエストをしていますか? CLIにアクセスできるサーバー – Optimae

+0

Javascript Cordovaは、localstorageに保存されたスクリプトから取得され、条件が満たされたときに実行されます。スクリプトは保存され、取得されるため、DOMへのすべてのアクセスが失われ、それは続いている。しかし、私はjquerymobileを使用しているので、必要に応じてdata-role =ページの外に追加することができますが、私はそうしたくありません。 –

答えて

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(); 
}); 

これはソリューションの概要です。返された約束は、成功するまで再試行を続けるために私の待ち行列システムによって使用されます。

関連する問題