Saltar al contenido

Cómo convertir blob a archivo en JavaScript

Solución:

Puede utilizar el constructor de archivos:

var file = new File([myBlob], "name");

Según la especificación w3, esto agregará los bytes que contiene el blob a los bytes para el nuevo objeto Archivo y creará el archivo con el nombre especificado http://www.w3.org/TR/FileAPI/#dfn-file

Esta función convierte un Blob en un File y funciona muy bien para mí.

JavaScript vainilla

function blobToFile(theBlob, fileName){
    //A Blob() is almost a File() - it's just missing the two properties below which we will add
    theBlob.lastModifiedDate = new Date();
    theBlob.name = fileName;
    return theBlob;
}

Mecanografiado (con mecanografía adecuada)

public blobToFile = (theBlob: Blob, fileName:string): File => {
    var b: any = theBlob;
    //A Blob() is almost a File() - it's just missing the two properties below which we will add
    b.lastModifiedDate = new Date();
    b.name = fileName;

    //Cast to a File() type
    return <File>theBlob;
}

Uso

var myBlob = new Blob();

//do stuff here to give the blob some data...

var myFile = blobToFile(myBlob, "my-image.png");

Joshua P. NixonLa respuesta es correcta, pero también tuve que establecer la fecha de última modificación. así que aquí está el código.

var file = new File([blob], "file_name", {lastModified: 1534584790000});

1534584790000 es una marca de tiempo de Unix para “GMT: sábado 18 de agosto de 2018 9:33:10 a. M.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *