4

navigator.camera オブジェクトを使用して画像をキャプチャし、img タグにプッシュしようとしています。私は、次のようなphonegapドキュメントでデモが言っていることをやっています:

if(navigator.camera) {
    navigator.camera.getPicture(function(imageData){
        var $image = document.getElementById('imageForTask');
        image.src = "data:image/jpeg;base64," + imageData;
        console.log(imageData);
       }, null, {sourceType:1, quality: 50});               
} else {
    alert("Camera not supported on this device.");
}

ただし、これを行うと、 imageForTask に壊れたリンクが表示されます。これはソースが言うことです: data:image/jpeg;base64,content://media/external/images/media/325. なぜこれがうまくいかないのか誰か知っていますか?私はしばらくこれと格闘してきました。ありがとう!

-ジェフ

4

2 に答える 2

4

デフォルトのdestinationTypeがDATA_URLからFILE_URIに変更されました。オプションを追加する場合:

destinationType : Camera.DestinationType.DATA_URL

画像を取得するために渡すオプションに、base64でエンコードされたデータとして設定できます。

http://docs.phonegap.com/en/1.6.1/cordova_camera_camera.md.html#cameraOptions_options

于 2012-05-02T18:21:00.887 に答える
0

content://media/external/images/media/325実際のバイナリ データではなく、イメージへのパスです。ファイルシステム API を使用してファイルの内容を取得し、base64 でエンコードして使用する必要があります。

于 2012-05-02T18:18:27.017 に答える