En nodejs, tengo:
const fileToUpload = fs.readFileSync(test_file_path); console.log("fileToUpload: type: ", typeof fileToUpload, ", content: ", fileToUpload);que imprime:
type: object, content: <Buffer 50 4b 03 04 14 00 08 00 08 00 78 84 cb 50 00 00 00 00 00 00 00 00 24 ae 12 01 3e 00 20 00 31 2e 32 2e 38 34 30 2e 31 31 33 35 36 34 2e 31 30 2e 31 2e ... 10573784 more bytes> Entiendo que el tipo de fileToUpload es object . Este es un tipo de javascript básico. Pero, ¿qué es <Buffer 50 4b 03 04 ....> ? ¿Es formato binario?
En la interfaz creada con ReactJS, ¿cómo puedo convertir un archivo zip adjunto a este tipo de <Buffer ... > ?
La razón por la que pregunto es que necesito obtener un archivo en ese formato en el lado del cliente de reactjs para poder cargarlo en el depósito de AWS s3. Más detalles sobre: Javascript en el lado del cliente: ¿cómo cargar un archivo zip en el depósito de AWS S3 a través de una URL prefirmada?
Consulte los documentos de Node.js:
https://nodejs.org/api/fs.html#fsreadfilesyncpath-options
Si se especifica la opción de codificación, esta función devuelve una cadena. De lo contrario, devuelve un búfer.
Entonces, para obtener una cadena, puede escribir, por ejemplo:
const text = fs.readFileSync(filePath, 'utf8');La clase Buffer es una subclase de Uint8Array de JavaScript.
El Buffer (Uint8Array) también tiene algunos métodos de conversión: