Los encabezados HTTP ( Content-Type ) y los metadatos que devuelve una entrada de archivo HTML ( file.type ) no son confiables y los piratas informáticos podrían eludirlos fácilmente. Entonces, ¿cómo se asegura de que el archivo que se va a cargar en S3 tenga el tipo de archivo correcto al usar AWS s3 presigned[-post]-url s?
Hay paquetes como file-type que pueden detectar el tipo real de un archivo. Pero el problema es que para detectar el tipo de archivo necesitan el contenido del archivo como un búfer o Uint8Array. Así que tengo que enviar el archivo dos veces. Una vez al servidor para detectar el tipo de archivo y la presigned-url (si tiene un tipo correcto), y una vez para cargarlo en s3, lo que obviamente es algo malo.