2

https://build.phonegap.comを使用して HTML アプリを .apk に変換していますが、ファイル セレクターからすべてがうまく機能します。

<input name="file" type="file" id="file">

カメラとファイルシステムの両方から画像のみを選択できるようにしたい(さらに選択できるかどうかは関係ありませんが、探している画像です)..

Web バージョンhttp://carbonyzed.co.uk/websites/assent/1/photos.htmlでは、これは私の携帯電話からはうまく機能しますが、.apk に変換すると、この機能が失われ、見つけられないようですこの問題に関連するここまたはオンラインの何か。

4

2 に答える 2

2

少なくとも私にとっては、入力ファイルはPhonegapでは機能しません。

Phonegap APIを使用して写真を取得し、フォトライブラリ、カメラ、savedphotoalbumなどのソースを選択する必要があります。

camera.getPictureの詳細:http: //docs.phonegap.com/en/2.1.0/cordova_camera_camera.md.html#camera.getPicture およびcameraOptionsメソッドのCamera.PictureSourceTypeパラメーターの詳細:http://docs.phonegap .com / en / 2.1.0 / cordova_camera_camera.md.html#cameraOptions

于 2012-11-29T15:30:56.283 に答える
0

こんな風にチャイルドブラウザシステムを使ってしまった

頭の中で

<script src="childbrowser.js"></script>

体内で

<button class="button-big"     onClick="window.plugins.childBrowser.showWebPage('URL_TO_GO_HERE',
                                    { showAddress: false });" style="width: 100%;">UPLOAD     PHOTOS</button>

次のような標準のファイルアップローダーがあります

<input name="file" type="file" id="file">

次に、ルートストレージから選択できるようになり、iOS と Android OS の両方で phonegap 2.2 以降で動作します

画像をキャプチャするために、頭の中でこれを使用しました

<script type="text/javascript" charset="utf-8" src="json2.js"></script>
<script type="text/javascript" charset="utf-8">

// Called when capture operation is finished
//
function captureSuccess(mediaFiles) {
    var i, len;
    for (i = 0, len = mediaFiles.length; i < len; i += 1) {
        uploadFile(mediaFiles[i]);
    }       
}

// Called if something bad happens.
// 
function captureError(error) {
    var msg = 'An error occurred during capture: ' + error.code;
    navigator.notification.alert(msg, null, 'Uh oh!');
}

// A button will call this function
//
function captureImage() {
    // Launch device camera application, 
    // allowing user to capture up to 2 images
    navigator.device.capture.captureImage(captureSuccess, captureError, {limit: 2});
}

// Upload files to server
function uploadFile(mediaFile) {
    var ft = new FileTransfer(),
        path = mediaFile.fullPath,
        name = mediaFile.name;

    ft.upload(path,
        "http://my.domain.com/upload.php",
        function(result) {
            console.log('Upload success: ' + result.responseCode);
            console.log(result.bytesSent + ' bytes sent');
        },
        function(error) {
            console.log('Error uploading file ' + path + ': ' + error.code);
        },
        { fileName: name });   
}

</script>

そしてこれが体内で

<input type="button" class="button-big" style="width: 100%;" onclick="captureImage();" value="TAKE PHOTO">

コピー アンド パストとそれは夢のように機能し、

この画像で確認してください

ここに画像の説明を入力

ご不明な点がございましたら、メールでコメントしてください。

または私にメールしてください... support@carbonyzed.co.uk

于 2013-04-25T18:29:50.050 に答える