Hay un File
objeto en JavaScript. Quiero crear una instancia con fines de prueba.
Lo he intentado new File()
, pero aparece el error "Constructor ilegal".
¿Es posible crear un File
objeto?
Referencia de objeto de archivo: https://developer.mozilla.org/en/DOM/File
javascript
file-upload
upload
julesbou
fuente
fuente
Illegal constructor
en Chrome 37 / Ubuntu, así que no, no funcionafile = new Blob([blobdata], {type: filetype, lastModified: filelastModified}); file.name = filename
¡Ahora usted puede!
fuente
new File([], '')
Illegal constructor
en Chrome 37 / UbuntuUse un blob en su lugar
Como alternativa, hay un Blob que puede usar en lugar de File, ya que es de donde se deriva la interfaz File de acuerdo con las especificaciones del W3C :
Crea el blob
Usar el BlobBuilder como este en un método JavaScript existente que toma un archivo para cargar
XMLHttpRequest
y proporcionar un Blob funciona bien de esta manera:Ejemplo extendido
El resto de la muestra está disponible en jsFiddle de una manera más completa, pero no se cargará correctamente, ya que no puedo exponer la lógica de carga a largo plazo.
fuente
DataTransferItemList.add
requiereFile
noBlob
. Entonces, a la pregunta original: ¿Cómo instanciar un archivo ?Ahora es posible y compatible con todos los principales navegadores: https://developer.mozilla.org/en-US/docs/Web/API/File/File
fuente
La idea ... Para crear un objeto File (api) en javaScript para imágenes ya presentes en el DOM:
¡No hagas eso! ... (pero lo hice de todos modos)
-> la consola da un resultado similar a un archivo de objeto:
Pero el tamaño del objeto está mal ...
¿Por qué necesito hacer eso?
Por ejemplo, para retransmitir un formulario de imagen ya cargado, durante una actualización del producto, junto con imágenes adicionales agregadas durante la actualización
fuente
Como se trata de javascript y dinámico, puede definir su propia clase que coincida con la interfaz de archivo y utilizarla en su lugar.
Tuve que hacer eso con dropzone.js porque quería simular una carga de archivo y funciona en objetos File.
fuente