Saltar al contenido

JavaScript no puede cambiar el nombre del archivo antes de cargarlo

Nuestro team redactor ha pasado horas buscando para dar soluciones a tus interrogantes, te ofrecemos la resolución por esto deseamos resultarte de mucha apoyo.

Solución:

Sí, suena como una regla extraña para configurarlo como de solo lectura, pero es lo que es… Entonces, la solución, no tan difícil, es crear un nuevo objeto de archivo a partir del anterior…

var previous_file = new File(['foo'], 'file.txt', type: 'text/plain');
try
  previous_file.name = 'hello.txt';

catch(e)
console.log(previous_file.name); // didn't work

// so we just create a new File from it...
var new_file = new File([previous_file], 'hello.txt');
console.log(new_file);

Pero también tenga en cuenta que si necesita admitir navegadores más antiguos que no admiten el constructor de archivos, puede anular este nombre de archivo en un FormData que enviará a su servidor:

var file = new File(['foo'], 'text.txt', type:'text/plain');
var formdata = new FormData();
// this will override the file name
formdata.append('file', file, 'hello.txt');
// and now you can send this formdata through xhr
// for demo, we will just log its content
for(let entry of formdata.entries()) 
  console.log(entry);

El método append() de FormData acepta un tercer parámetro de nombre de archivo opcional.

// new file name as a variable with timestamp
const newName = new Date().getTime() + event.target.files[0].name;  
fd.append('file[]', event.target.files[0], newName);

  • No puede cambiar el nombre de un archivo ya creado.
  • Puede crear una nueva instancia de archivo con un nuevo nombre de archivo, como en una publicación anterior. Pero el constructor de archivos no es compatible con todos los navegadores (no es compatible con la tabla de soporte de IE y EDGE).
  • Puede poner un nuevo nombre de archivo a key propiedad de su carga de Amazon https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-post-example.html

en vez de key = "folder1/folder2/$filename"
puedes escribir key = "folder1/folder2/youfilename.txt"

Aquí puedes ver las comentarios y valoraciones de los lectores

Si posees alguna suspicacia y forma de afinar nuestro artículo eres capaz de realizar una nota y con deseo lo observaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *