Firebase la API de almacenamiento de carga de archivo con la metada

0

Pregunta

Estoy utilizando la api de rest para subir archivos a la base avanzada de almacenamiento como se describe en la siguiente respuesta https://stackoverflow.com/a/65462416/8634683.

Y me gustaría configurar la cache-control de metadatos , pero no puede averiguar.

He encontrado el siguiente firebase doc - https://firebase.google.com/docs/storage/web/file-metadata pero no vio ninguna información acerca de la API de rest.

=== Update ====

Así que hice un poco de ingeniería inversa, y he descubierto que cuando estoy usando el JS-SDK, la biblioteca de añadir un prefijo para el archivo, Cualquiera sabe lo que es el significado de la primera gran número?

enter image description here

1

Mejor respuesta

1

Así que he encontrado la respuesta:

Enviar el archivo blob con un prefijo y un sufijo como sigue:

let prefix = `
--23483860318350978727016216849495
Content-Type: application/json; charset=utf-8
Content-Disposition: form-data; name="metadata"

{"name":"${filePath}", "cacheControl":"max-age=7200","contentType":"${fileType}"}
                
--23483860318350978727016216849495
Content-Type: ${fileType}`

let suffix = '\n--23483860318350978727016216849495--'

let blobWithMetadata = new Blob([prefix, blob, suffix])

y agregar los siguientes encabezados:

headers = { 
  'x-goog-upload-protocol': 'multipart',
  'content-type': 'multipart/related; boundary=23483860318350978727016216849495'
}
2021-12-01 09:29:41

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................