[toBlob]无法在“ FileReader”上执行“ readAsDataURL”:参数1的类型不是“ Blob”

时间:2020-08-04 10:53:27

标签: javascript html canvas html5-canvas blob

我不熟悉在javascript中使用画布操作,并且遇到了我工具中的一项功能,该功能使用异步函数toBlob(将回调作为第一个参数)将HTML5Canvas转换为Blob。回调将转换后的Blob值作为输入接收,并可用于进一步处理。但是,对于很少发生的随机情况,toBlob函数无法转换为blob,并且回调接收null作为输入。在下面找到代码

                           canvases.forEach(canvasObj => {
                                canvasObj.canvas.toBlob(blob => {
                                    const reader = new FileReader();
                                    reader.readAsDataURL(blob)
                                    reader.onload = function () {
                                        //process reader.result
                                    };
                                })
                            })

对于失败的案例,我在上面的代码中遇到了异常

Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'

我检查了资源和类似问题,这些问题可以帮助我解决问题,但在这里找不到太多。任何人都可以帮忙,让我知道在什么情况下toBlob函数将失败。

0 个答案:

没有答案