javascript - konvertera fil till uInt8Array i angular


Jag vill ladda upp filer från Angular till PostgreSQL med hjälp av Golang API.

I den angulära delen vill jag konvertera min file till uInt8Array. Jag har konverterat arrayen, men den är inne i något jag inte känner till (som visas på bilden)

skärmdump-1

Så hur kan jag få uInt8Array inuti en variabel som let x : uInt8Array=y;

Här är hur långt jag försökte.

x.component.html

<input (change)="onFileSelected($event)" type="file" id="fileUpload">

x.component.ts

onFileSelected(event) {
 console.log("called");
 const file: File = event.target.files[0];
 if (file) {
   console.log(file.arrayBuffer());
   console.log("call finished");
 }
}

Utdata fanns i föregående skärmdump.

Svar #1

Bara konstruera en Uint8Array från array buffer-utgång

file.arrayBuffer().then(buff => {
    let x = new Uint8Array(buff); // x is your uInt8Array
    // perform all required operations with x here.
});

Enligt frågan ska det se ut så här

onFileSelected(event) {
     console.log("called");
     const file: File = event.target.files[0];
     if (file) {
         file.arrayBuffer().then(buff => {
             let x = new Uint8Array(buff); // x is your uInt8Array
             // perform all required operations with x here.
             console.log(x);
         });
         console.log("call finished");
     }
}

Relaterade artiklar