猿问

在javascript中创建文件时获取大小为0

我正在尝试根据从Ionic的相机插件获得的一些base64数据创建文件。我正在使用从另一个stackoverflow的答案中获得的功能。问题在于创建的文件的大小为:0,并且name属性似乎是我在创建时传递的Uint8array。


这是转换Base64数据的功能:(前两行带有注释,因为数据的开头没有“ data:image / jpeg; base64”)


_dataURLtoFile(dataurl, filename) {

    let //arr = dataurl.split(','),

        //mime = arr[0].match(/:(.*?);/)[1],

        bstr = atob(dataurl),

        n = bstr.length,

        u8arr = new Uint8Array(n);


    while(n--){

        u8arr[n] = bstr.charCodeAt(n);

    }

    return new File([u8arr], filename, {type:'image/jpeg'});

  }

这是我在控制台中得到的:


File {name: Array(1), localURL: "archivo", type: {…}, lastModified: null, lastModifiedDate: null, …}

end: 0

lastModified: null

lastModifiedDate: null

localURL: "archivo"

name: [Uint8Array(268175)]

size: 0

start: 0

type: {type: "image/jpeg"}

__proto__: Object


人到中年有点甜
浏览 230回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答