Tengo un objeto de archivo JS (como el que se muestra a continuación) que me gustaría pasar a mi controlador de rieles.
File {name: 'undefined', lastModified: 1652457009460, lastModifiedDate: Fri May 13 2022 10:50:09 GMT-0500 (Central Daylight Time), webkitRelativePath: '', size: 582843, …}lastModified: 1652457009460lastModifiedDate: Fri May 13 2022 10:50:09 GMT-0500 (Central Daylight Time) {}name: "undefined"size: 582843type: "image/png"webkitRelativePath: ""[[Prototype]]: FilelastModified: (...)lastModifiedDate: (...)name: (...)webkitRelativePath: (...)constructor: ƒ File()Symbol(Symbol.toStringTag): "File"size: (...)type: (...)get lastModified: ƒ lastModified()get lastModifiedDate: ƒ lastModifiedDate()get name: ƒ name()get webkitRelativePath: ƒ webkitRelativePath()[[Prototype]]: Blob , estoy tratando de pasarlo dentro de un objeto de datos como este:
data: { someData: '', myFile: JSON.stringify(myFile)}
Desafortunadamente, eso da como resultado pasar un objeto vacío como el siguiente:
data: { someData: '', myFile: {}}
Si trato de pasarlo sin encadenarlo, obtengo:
serialize.js:66 Uncaught TypeError: Illegal invocation
La única forma en que he podido hacerlo es a través de FormData() como:
const formData = new FormData(); formData.append("file", myFile); Sin embargo, no puedo usar formData en esta ocasión por otras razones.
¿Puede proporcionar alguna orientación sobre qué otras formas existen para pasar estos datos?