ottenere il nome file di un fileupload in un documento tramite javascript
-
05-07-2019 - |
Domanda
var fu1 = document.getElementById("FileUpload1");
come posso ottenere il nome file del controllo fileupload con id FileUpload1
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.