Como soy bastante nuevo en React, necesito ayuda, por favor.
Me encontré con un caso de uso en el que el cliente está cargando un archivo javascript en el proyecto, pero la carga falla porque diferentes navegadores ven el mismo archivo de manera diferente (en términos de tipo de archivo).
De acuerdo con las pautas del proyecto, solo los archivos de 'aplicación/javascript' pueden guardarse en la base de datos. pero cuando un usuario carga un archivo desde Chrome, aparece como 'texto/javascript' y la carga falla.
ahora el cliente quiere que actualicemos el tipo mime de los archivos javascript, por ejemplo, si 'text/javascript' llega al servidor, reescriba el tipo mime a 'aplicación/javascript' y guarde el archivo.
¿Es posible cambiar un archivo JS tipo mime?
en caso afirmativo, cualquier ayuda es realmente apreciada.
¿Cuál es la forma ideal de resolver este problema?
Archivo JS, siendo compatible con la base de datos.
[ { "id": "aac491d22bcbb4a95deed88b738c1edc", "mimeType": "application/javascript", "extensions": [ "js" ], "mediaTypeGroupId": "21f64da1e5792c8295b964d159a14491", "created": "2021-11-15T06:31:52.237Z", "updated": "2021-11-15T06:31:52.237Z", "self": "/mediatypes/aac491d22bcbb4a95deed88b738c1edc" } ]Los clientes quieren que hagamos esto (solo muestra el código, perdona la idea)
if (file.files[0].type === "text/javascript") { const newType = file.files[0].type; newType = "application/javascript"; console.log("yes", file.files[0].type); } PD: Tech-Stack utilizado es REACT, REDUX, LOOPBACK, POSTGRES.
Gracias.
Puede volver a crear el objeto Archivo y anular el tipo utilizando el método siguiente.
new File([file], file.name, {type: "application/javascript"});Para su ejemplo, puede usarlo así, verá que el único cambio será el tipo.
if (file.files[i].type === "text/javascript") { file.files[i] = new File(file.files[i], file.files[i].name, { type: "application/javascript", }); }