var fu1 = document.getElementById("FileUpload1");
comment puis-je obtenir le nom de fichier du contrôle fileupload avec id FileUpload1
Essayez la propriété value
, comme ceci:
var fu1 = document.getElementById("FileUpload1");
alert("You selected " + fu1.value);
[~ # ~] note [~ # ~] : Il ressemble à FileUpload1
est un contrôle FileUpload côté serveur ASP.Net.
Si c'est le cas, vous devriez obtenir son ID en utilisant la propriété ClientID
, comme ceci:
var fu1 = document.getElementById("<%= FileUpload1.ClientID %>");
Dans google chrome element.value retourne le nom + le chemin, mais un faux chemin. Ainsi, pour mon cas, j'ai utilisé l'attribut name sur le fichier comme ci-dessous:
function getFileData(myFile){
var file = myFile.files[0];
var filename = file.name;
}
c'est l'appel de la page:
<input id="ph1" name="photo" type="file" class="jq_req" onchange="getFileData(this);"/>
Pour obtenir uniquement le nom du fichier téléchargé, utilisez ceci,
fake_path=document.getElementById('FileUpload1').value
alert(fake_path.split("\\").pop())
FileUpload1
la valeur contient un faux chemin, que vous ne voulez probablement pas, pour éviter d'utiliser le dernier élément de fractionnement et de pop de votre fichier.
Essayez document.getElementById("FileUpload1").value
cette valeur doit avoir un chemin d'accès pour un fichier à télécharger, il suffit de supprimer tous les répertoires de cette valeur et vous aurez un nom de fichier.
RaYell, vous n'avez pas besoin d'analyser la valeur renvoyée. document.getElementById("FileUpload1").value
renvoie uniquement le nom de fichier avec l'extension. Cela m'a été utile car je voulais copier le nom du fichier à télécharger dans une zone de saisie appelée "titre". Dans mon application, le fichier téléchargé est renommé en index généré par la base de données backend et le titre est stocké dans la base de données.
En utilisant du code comme celui-ci dans un formulaire, je peux capturer le nom du fichier de téléchargement source d'origine, le copier dans un deuxième champ de saisie simple. Cela permet à l'utilisateur de fournir un autre nom de fichier de téléchargement dans la demande de soumission, car le nom de fichier de téléchargement de fichier est immuable.
<input type="file" id="imgup1" name="imagefile">
onchange="document.getElementsByName('imgfn1')[0].value = document.getElementById('imgup1').value;">
<input type="text" name="imgfn1" value="">
Essayer
var fu1 = document.getElementById("FileUpload1").value;