Convert data file to blob

后端 未结 3 1713

How to get a blob?

HTML:


JavaScript:

function previewFile()          


        
3条回答
  •  情话喂你
    2021-01-03 23:02

    A file object is an instance of Blob but a blob object is not an instance of File

    new File([], 'foo.txt').constructor.name === 'File' //true
    new File([], 'foo.txt') instanceof File // true
    new File([], 'foo.txt') instanceof Blob // true
    
    new Blob([]).constructor.name === 'Blob' //true
    new Blob([]) instanceof Blob //true
    new Blob([]) instanceof File // false
    
    new File([], 'foo.txt').constructor.name === new Blob([]).constructor.name //false
    

    If you must convert a file object to a blob object, you can create a new Blob object using the array buffer of the file. See the example below.

    let file = new File(['hello', ' ', 'world'], 'hello_world.txt', {type: 'text/plain'});
    //or let file = document.querySelector('input[type=file]').files[0];
    let reader = new FileReader();
    reader.onload = function(e) {
        let blob = new Blob([new Uint8Array(e.target.result)], {type: file.type });
        console.log(blob);
    };
    reader.readAsArrayBuffer(file);
    

提交回复
热议问题