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

通过JavaScript获取文档中文件上载的文件名,javascript,file-upload,Javascript,File Upload,如何使用id FileUpload1获取fileupload控件的文件名?请尝试value属性,如下所示: var fu1 = document.getElementById("FileUpload1"); var fu1 = document.getElementById("FileUpload1"); alert("You selected " + fu1.value); 注意:它看起来像是一个ASP.Net服务器端文件上载控件。 如果是这样,则应使用属性获取其ID,如下所示: var

如何使用
id FileUpload1
获取fileupload控件的文件名?

请尝试
value
属性,如下所示:

var fu1 = document.getElementById("FileUpload1");
var fu1 = document.getElementById("FileUpload1");
alert("You selected " + fu1.value);
注意:它看起来像是一个ASP.Net服务器端文件上载控件。
如果是这样,则应使用属性获取其ID,如下所示:

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


请尝试
document.getElementById(“FileUpload1”).value
此值应具有要上载的文件的路径,只需从该值中删除所有目录,即可获得文件名。

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

在google chrome元素中。value返回名称+路径,但为假路径。因此,在我的案例中,我对文件使用了name属性,如下所示:

var fu1 = document.getElementById("FileUpload1").value;
这是来自页面的调用:

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);"/>

onchange=“document.getElementsByName('imgfn1')[0]。value=document.getElementById('imgup1')。value;”>

要仅获取上载的文件名,请使用此

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

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

虽然此代码片段可以解决问题,但确实有助于提高帖子的质量。请记住,您将在将来为读者回答这个问题,而这些人可能不知道您的代码建议的原因。请注意:对于IE11,这不会为我返回任何信息。接受的答案很好。但是,如果您需要文件名而不需要假路径,以便在fetch/post或按钮标签等中重用,那么这是完美的。,