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

如何使用 id FileUpload1

获取fileupload控件的文件名
有帮助吗?

解决方案

尝试 value 属性,如下所示:

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

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

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

其他提示

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

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

这是来自页面的电话:

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

尝试 document.getElementById(&quot; FileUpload1&quot;)。value 这个值应该有一个上传文件的路径,只需从该值中删除所有dirs,你就会有文件名。

RaYell, 您不需要解析返回的值。 document.getElementById(&quot; FileUpload1&quot;)。value 仅返回带扩展名的文件名。 这对我很有用,因为我想将要上传的文件的名称复制到名为“title”的输入框中。在我的应用程序中,上传的文件被重命名为后端数据库生成的索引,标题存储在数据库中。

尝试

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

在表格中使用这样的代码,我可以捕获原始的源上传文件名,将其复制到第二个简单的输入字段。这是因为用户可以在提交请求中提供备用上传文件名,因为文件上载文件名是不可变的。

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

仅获取上传的文件名称使用此,

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

FileUpload1 值包含您可能不想要的假路径,以避免使用拆分并弹出文件中的最后一个元素。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top