0

iOSプラットフォーム用のcordova 2.9.0で実行されているjqm + phonegapアプリケーションがあります。xcodeに正しいコルドバファイルがあると確信しています。

Android ではコードは完全に機能しましたが、iOS ではアップロード イメージ コードが機能しませんでした。

JS:

document.addEventListener("deviceready", onDeviceReady, false);

// PhoneGap is ready
function onDeviceReady() {
// Do cool things here...
}

function getImage() {
// Retrieve image file location from specified source
navigator.camera.getPicture(uploadPhoto, function(message) {
alert('Get Picture Failed. Please Try Again.');
},{
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=curClub+imageURI.substr(imageURI.lastIndexOf('/')+1);
options.mimeType="image/jpeg";

var params = new Object();
params.value1 = "test";
params.value2 = "param";
params.clubID = curClub ;
options.params = params;
options.chunkedMode = false;

var ft = new FileTransfer();
ft.upload(imageURI, "url", 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);
}

HTML:

<div data-role = "button" onClick = "getImage();" >Upload Logo</div>

内部にアラートを追加して getImage() 関数をテストすると、機能するので、そこに行くことがわかります。他に何が間違っていますか?

4

1 に答える 1

1

OnDeviceReady メソッドで pictureSource と destinationType を指定してください。

function onDeviceReady() {

pictureSource=navigator.camera.PictureSourceType; destinationType=navigator.camera.DestinationType; }

于 2014-01-16T05:46:24.123 に答える