obtener el nombre de archivo de una carga de archivo en un documento a través de javascript

StackOverflow https://stackoverflow.com/questions/1804745

  •  05-07-2019
  •  | 
  •  

Pregunta

var fu1 = document.getElementById("FileUpload1");

¿Cómo puedo obtener el nombre del archivo de control de fileupload con id FileUpload1

¿Fue útil?

Solución

Pruebe la propiedad value , así:

var fu1 = document.getElementById("FileUpload1");
alert("You selected " + fu1.value);

NOTA : Parece que FileUpload1 es un control FileUpload del lado del servidor ASP.Net.
Si es así, debe obtener su ID utilizando el < code> ClientID propiedad, así:

var fu1 = document.getElementById("<%= FileUpload1.ClientID %>");

Otros consejos

En google chrome element.value devuelve el nombre + la ruta, pero una ruta falsa. Por lo tanto, para mi caso, utilicé el atributo de nombre en el archivo como a continuación:

function getFileData(myFile){
   var file = myFile.files[0];  
   var filename = file.name;
}

esta es la llamada de la página:

<input id="ph1" name="photo" type="file" class="jq_req" onchange="getFileData(this);"/>

Pruebe document.getElementById (" FileUpload1 "). value este valor debe tener una ruta para que se cargue un archivo, solo elimine todos los directorios de ese valor y tendrá el nombre del archivo.

RaYell, No es necesario analizar el valor devuelto. document.getElementById (" FileUpload1 "). value solo devuelve el nombre del archivo con extensión. Esto fue útil para mí porque quería copiar el nombre del archivo que se va a cargar en un cuadro de entrada llamado 'título'. En mi aplicación, el archivo cargado se renombra al índice generado por la base de datos de back-end y el título se almacena en la base de datos.

Probar

var fu1 = document.getElementById("FileUpload1").value;

Utilizando un código como este en una forma, puedo capturar el nombre de archivo de carga de la fuente original, copiarlo en un segundo campo de entrada simple. Esto es para que el usuario pueda proporcionar un nombre de archivo de carga alternativo en la solicitud de envío, ya que el nombre de archivo de carga del archivo es inmutable.

    <input type="file" id="imgup1" name="imagefile">
      onchange="document.getElementsByName('imgfn1')[0].value = document.getElementById('imgup1').value;">
    <input type="text" name="imgfn1" value="">

Para obtener solo el nombre del archivo cargado, use esto,

fake_path=document.getElementById('FileUpload1').value
alert(fake_path.split("\\").pop())
El valor de

FileUpload1 contiene una ruta falsa, que probablemente no desea, para evitar que use el último elemento de su archivo dividido y emergente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top