如何显示使用 cordova-plugin-media-capture 捕获的图像

How to display an image captured with cordova-plugin-media-capture

我正在使用 this plugin,这让我可以用 Android phone 拍摄图像。

现在我应该如何显示刚刚在我的应用程序中捕获的图像?以下没有工作。它说:"TypeError: Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'."

function capturePhoto(){
    navigator.device.capture.captureImage(
        file=>{
            getBase64(file).then(b64=>{
                document.getElementById('fsPhotoI').src=b64;
            }).catch(e=>alert(e));
        },
        error=>{alert(error);},
        {limit:1}
    );
}

function getBase64(f) {
    return new Promise((resolve, reject) => {
        const reader = new FileReader();
        reader.readAsDataURL(f);
        reader.onload = () => resolve(reader.result);
        reader.onerror = error => reject(error);
    });
}

我解决了:

function capturePhoto(){
    navigator.device.capture.captureImage(
        file=>{
            document.getElementById('fsPhotoI').src=file[0].fullPath;
        },
        e=>{alert(JSON.stringify(e));},
        {limit:1}
    );
}

我忽略的一件事是返回的 'file' 变量是一个数组而不是单个文件,即使只捕获了一张图像。