txt - ¿Cómo obtener el nombre de archivo de Javascript FileReader?
manejo de archivos en javascript (2)
Esta no es probablemente la mejor solución, PERO funcionó para mí.
var reader = new FileReader();
reader.fileName = file.name // file came from a input file element. file = el.files[0];
reader.onload = function(readerEvt) {
console.log(readerEvt.target.fileName);
};
No es la mejor respuesta, sino una que funciona.
Estoy usando Javascript FileReader para cargar una imagen en el navegador:
e = e.originalEvent;
e.dataTransfer.dropEffect = ''copy'';
this.documentFile = e.dataTransfer.files[0];
var reader = new FileReader();
reader.onloadend = function () {
if (reader.result) {
console.log(reader);
$(''#theImage'').attr(''src'', reader.result);
}
};
reader.readAsDataURL(this.documentFile);
Esto funciona bien. Ahora quiero obtener el nombre de archivo original de la imagen, pero no tengo ni idea de cómo mirar a través de Internet, ¿tampoco puedo encontrar nada?
¿Alguien sabe cómo puedo obtener el nombre de archivo a través de FileReader? Todos los consejos son bienvenidos!
Si desea que el nombre del archivo a una variable:
var filename;
var reader = new FileReader();
reader.onloadend = function () {
if (reader.result) {
console.log(reader);
$(''#theImage'').attr(''src'', reader.result);
filename = reader.result;
}
};
reader.readAsDataURL(this.documentFile);
Si quieres que se ejecute en una función:
var reader = new FileReader();
reader.onloadend = function () {
if (reader.result) {
console.log(reader);
$(''#theImage'').attr(''src'', reader.result);
myfunctionafter(reader.result);
}
};
reader.readAsDataURL(this.documentFile);
Si desea obtener la información dentro de otra función:
var reader = new FileReader();
var filename = reader.onloadend = function () {
if (reader.result) {
console.log(reader);
$(''#theImage'').attr(''src'', reader.result);
return reader.result;
}
};
reader.readAsDataURL(this.documentFile);
Puede haber un problema cuando su reader.onloadend pueda terminar antes de la función desde la que lo está ejecutando. Entonces deberías hacer dos funciones y desencadenar myfunctionafter (reader.result); desde el interior
O simplemente puede obtener el src después
var filename = $(''#theImage'').attr(''src'');