1

我正在尝试从 Chrome 扩展中的画布图像创建一个 blob,但是在尝试使用任何方法创建 Blob 时出现错误“ Uncaught TypeError: object is not a function ”!

var blob = new Blob();
var blob = new Blob(['body { color: red; }'], {type: 'text/css'});

是两个因上述错误而失败的示例。我实际上正在尝试将 DataURL 转换为 blob,因此我正在使用的代码(也失败)是......

function dataURItoBlob(dataURI) {
    'use strict'
    var byteString, 
        mimestring 

    if(dataURI.split(',')[0].indexOf('base64') !== -1 ) {
        byteString = atob(dataURI.split(',')[1])
    } else {
        byteString = decodeURI(dataURI.split(',')[1])
    }

    mimestring = dataURI.split(',')[0].split(':')[1].split(';')[0]

    var content = new Array();
    for (var i = 0; i < byteString.length; i++) {
        content[i] = byteString.charCodeAt(i)
    }

    return new Blob([new Uint8Array(content)], {type: mimestring});
}

我假设 Chrome 不支持新的 blob?

4

1 回答 1

1

问题是创建 Blob 的调用是从 JS 文件完成的,正确的位置是后台 JavaScript 文件。通过将创建 blob 的方法移动到后台文件中,我可以使用它。

于 2013-03-19T23:22:29.617 回答