Domanda

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

come posso ottenere il nome file del controllo fileupload con id FileUpload1

È stato utile?

Soluzione

Prova la proprietà value , in questo modo:

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

NOTA : sembra che FileUpload1 sia un controllo FileUpload sul lato server ASP.Net.
In tal caso, dovresti ottenere il suo ID utilizzando < code> ClientID , in questo modo:

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

Altri suggerimenti

In google chrome element.value restituisce il nome + il percorso, ma un percorso falso. Quindi, nel mio caso, ho usato l'attributo name sul file come di seguito:

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

questa è la chiamata dalla pagina:

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

Prova document.getElementById (" FileUpload1 "). valore questo valore dovrebbe avere un percorso per il caricamento di un file, basta rimuovere tutte le directory da quel valore e avrai il nome del file.

RaYell, Non è necessario analizzare il valore restituito. document.getElementById (" FileUpload1 "). value restituisce solo il nome del file con estensione. Questo è stato utile per me perché volevo copiare il nome del file da caricare in una casella di input denominata "titolo". Nella mia applicazione, il file caricato viene rinominato nell'indice generato dal database back-end e il titolo viene archiviato nel database.

Prova

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

Usando un codice come questo in una forma posso catturare il nome del file di caricamento della fonte originale, copiarlo in un secondo campo di input semplice. In questo modo l'utente può fornire un nome file di caricamento alternativo nella richiesta di invio poiché il nome file di caricamento file è immutabile.

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

Per ottenere solo il nome del file caricato, utilizzare questo,

fake_path=document.getElementById('FileUpload1').value
alert(fake_path.split("\\").pop())
Il valore

FileUpload1 contiene un percorso falso, che probabilmente non vuoi, per evitare di usare l'ultimo elemento diviso e pop dal tuo file.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top