问题 如何使用jQuery从上传表单获取文件名?


我想使用jQuery获取上传文件的文件名。但问题是,我得到了假的路径和文件名,而不是文件名。这是我的表格。

<form action="" method="post">
   <input type="file" name="uploadFile" id="uploadFile" /> 
   <input type="submit" name="submit" value="Upload" id="inputSubmit" />
</form>

而jQuery就是这样的

$(document).ready(function(){
    $('#inputSubmit').click(function(){
      alert($('#uploadFile').val());
    });
});

我使用Chrome并在警告框中获取此信息。假设我选择名为filename.jpg的文件。

C:\fakepath\filename.jpg

我怎样才能获得文件名?感谢您的帮助。


1466
2017-09-21 13:55


起源



答案:


使用“\”拆分文件路径字符串,并使用结果数组中的最后一项。

看到: 获取拆分字符串数组的最后一个元素


7
2017-09-21 14:12





你也可以这样做:

$('#uploadFile').prop("files")['name'];

如果是多文件输入,请执行以下操作:

$.each($('#uploadFile').prop("files"), function(k,v){
    var filename = v['name'];

    // filename = "blahblah.jpg", without path
});

3
2018-04-09 19:24



我认为这是使用单个文件的正确方法 $('#uploadFile').prop("files")[0]['name']; - Haktan Suren


答案:


使用“\”拆分文件路径字符串,并使用结果数组中的最后一项。

看到: 获取拆分字符串数组的最后一个元素


7
2017-09-21 14:12





你也可以这样做:

$('#uploadFile').prop("files")['name'];

如果是多文件输入,请执行以下操作:

$.each($('#uploadFile').prop("files"), function(k,v){
    var filename = v['name'];

    // filename = "blahblah.jpg", without path
});

3
2018-04-09 19:24



我认为这是使用单个文件的正确方法 $('#uploadFile').prop("files")[0]['name']; - Haktan Suren


使用jquery上传时获取文件名

var filename = $('input[type=file]').val().split('\').pop();

您也可以点击链接

http://datainflow.com/question/how-to-get-file-name-when-upload-a-file-in-jquery/


1
2018-06-22 06:27