0
    function getImage() {
        Retrieve image file location from specified source
        navigator.camera.MediaType.ALLMEDIA
        navigator.camera.getPicture(uploadPhoto, function(message) {
        alert('File Not Selected');
    },{
        quality: 50, 
        destinationType: navigator.camera.DestinationType.FILE_URI,
        sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY,
        mediaType: navigator.camera.MediaType.ALLMEDIA
    }
        );

    }

    function uploadPhoto(imageURI) {
        var options = new FileUploadOptions();
        options.fileKey="uploaded";
        options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
        options.mimeType="image/jpeg";

        var params = new Object();
        params.value1 = "test";
        params.value2 = "param";

        options.params = params;
        options.chunkedMode = false;

        var ft = new FileTransfer();
        ft.upload(imageURI, "abc.php", win, fail, options);
    }

    function win(r) {
        console.log("Code = " + r.responseCode);
        console.log("Response = " + r.response);
        console.log("Sent = " + r.bytesSent);
        alert(r.response);
    }

    function fail(error) {
        alert("An error has occurred: Code = " +error.code);
    }

これは、Eclipse を介して Android エミュレーターで正常に動作します。アップロード ボタンが押され、アップロードするファイルを要求されたとき。デバイスで実行された phonegap によって apk ファイルが作成され、アップロード ボタンが機能しないと失敗します。phonegap.js も削除する必要があります。

4

2 に答える 2

0

phonegap.js を削除する必要があると思いますか?

これを行うと、アプリ内にあるデバイス固有の phonegap.js に依存しているため、デバイス API にアクセスできなくなります。これは、PhoneGap Build のビルド時に挿入されます。

于 2013-12-23T01:13:08.893 に答える