通过javascript获取文档中文件上载的文件名

Mis*_*gen 25 javascript file-upload

var fu1 = document.getElementById("FileUpload1");
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得fileupload控件的文件名 id FileUpload1

SLa*_*aks 37

试试这个value属性,像这样:

var fu1 = document.getElementById("FileUpload1");
alert("You selected " + fu1.value);
Run Code Online (Sandbox Code Playgroud)

注意:它看起来像是FileUpload1一个ASP.Net服务器端的FileUpload控件.
如果是这样,您应该使用该ClientID属性获取其ID ,如下所示:

var fu1 = document.getElementById("<%= FileUpload1.ClientID %>");
Run Code Online (Sandbox Code Playgroud)


van*_*sen 34

在google chrome element.value中返回名称+路径,但返回虚假路径.因此,对于我的情况,我在文件上使用了name属性,如下所示:

function getFileData(myFile){
   var file = myFile.files[0];  
   var filename = file.name;
}
Run Code Online (Sandbox Code Playgroud)

这是来自页面的电话:

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

  • 其他注意事项:对于IE11,这对我没有任何回报。 (2认同)

Moh*_* ah 16

要仅获取上传的文件名,请使用此方法,

fake_path=document.getElementById('FileUpload1').value
alert(fake_path.split("\\").pop())
Run Code Online (Sandbox Code Playgroud)

FileUpload1 value 包含您可能不想要的假路径,以避免使用 split 和 pop 文件中的最后一个元素。

  • 接受的答案很好。但如果您需要没有假路径的文件名以便在获取/发布或按钮标签等中重用,那么这是完美的, (2认同)