Phone Gaps(Cordova 2.1)ファイル転送APIを使用して、ユーザーの写真ライブラリからサーバーに画像を投稿しています。ファイル転送APIは正常に機能しているようです。サーバーでこの情報を取得することに戸惑っています。
理想的には、私がする必要があるのは、画像を取得してからサーバーにアップロードすることです。しかし、ファイル転送から情報を取得できないようです。
私のJavaScriptコード(画像データの投稿)は次のとおりです。
function onDeviceReady() {
// Retrieve image file location from specified source
navigator.camera.getPicture(uploadPhoto,
function(message) { alert('get picture failed'); },
{ quality: 50,
destinationType: navigator.camera.DestinationType.FILE_URI,
sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY }
);
}
function uploadPhoto(imageURI) {
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
options.mimeType="image/jpeg";
var params = {};
params.value1 = "test";
params.value2 = "param";
options.params = params;
var ft = new FileTransfer();
ft.upload(imageURI, encodeURI("http://some.server.com/upload.php"), win, fail, options);
}
function win(r) {
console.log("Code = " + r.responseCode);
console.log("Response = " + r.response);
console.log("Sent = " + r.bytesSent);
}
function fail(error) {
alert("An error has occurred: Code = " + error.code);
console.log("upload error source " + error.source);
console.log("upload error target " + error.target);
}
私のサーバー側のコードは次のとおりです。
$paramValue = $_POST['fileKey']; //Undefined variable
$paramValue2 = $_POST['options']; //Undefined variable
$paramValue3 = $paramValue2['fileKey'] //Undefined variable
私も試しました:
//POST variable
$paramValue = $_POST['params'];
echo "Param Value1: " . $paramValue['value1']; //Should return "test"
私も試しました:
//POST variable
$paramValue = $_POST['options'];
echo "Param Value1: " . $paramValue['options']['params']['value1']; //Should return "test"
私が得ているのは未定義の変数エラーだけですか?
どんな助けでも大歓迎です、ありがとう!