如何获取将要上传的多个文件的名称?

狮子座

我有以下形式和div和jQuery。选择要上传的文件时,文件名(带有扩展名)将输出到div,但是不适用于多个文件。选择多个文件时,仅输出第一个文件的名称。我到处寻找多个文件的解决方案,但找不到它。

<form id="myform" action="" method="post" enctype="multipart/form-data">
    <input type="file" multiple name="files[]" />
    <input type="submit" name="submit" value="Submit">
</form>

<div class="filename"></div>

$("input:file").change(function (){
    var fileName = $(this).val();
    $(".filename").html(fileName);
});

因此请记住,获取文件名列表(及其扩展名)应在选择文件后立即进行,而不是在提交表单后进行。

编辑:

在什么我下面说顶部,这种情况发生的另一件事是,当选择一个文件,则该文件显示了旁边的浏览按钮,但如果选择了多个文件名,它不显示各名文件,它只会显示“已选择#个文件”。用于Firefox,“#文件”用于chrome。我去看看IE做什么,那是不同的。它将一个或多个文件的路径放在“浏览”按钮旁边的文本字段中,所以我想这就是其他问题和答案的全部内容。我尝试了所有这些,但没有任何工作,即使其中有一个工作,这似乎也只是Internet Explorer的事情。我需要跨浏览器解决方案。

var fileName = $(this).val().split('\\').pop();

var fileName = $(this).val().split(',').pop();

var fileName = $(this).val().split(', ').pop();

/显示所以要回顾一下,选择多个文件时,每个文件的名称应该是输出。即使该其他解决方案可用于删除文件路径并仅保留文件名和扩展名(仅适用于IE),也无法显示所选的每个文件的名称。它只显示第一个文件。

编辑2:

以防万一您想知道,我也尝试过此操作,但这是不行的,但是看来此处发布的答案确实奏效,所以很好。

var fileName = document.getElementById("myfiles").files;
眼猫

您可以使用filesfileinput元素属性来获取所选文件的列表。此属性包含一个FileList可以像这样使用对象:

$("input:file").change(function () {
    var filenames = '';
    for (var i = 0; i < this.files.length; i++) {
        filenames += '<li>' + this.files[i].name + '</li>';
    }
    $(".filename").html('<ul>' + filenames + '</ul>');
});

参见演示

如果只需要一个用空格或逗号分隔的文件列表,请执行以下操作:

$("input:file").change(function () {
    var filenames = $.map(this.files, function (file) {
        return file.name;
    });
    $(".filename").html(filenames.join(', '));
});

参见演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取要上传的文件的名称

来自分类Dev

获取上传文件的名称

来自分类Dev

获取上传文件的名称

来自分类Dev

流式上传时获取上传文件的名称

来自分类Dev

流式上传时获取上传文件的名称

来自分类Dev

如何在jQuery中使用上传字段“名称”属性获取上传文件名

来自分类Dev

如何在jQuery中使用上传字段“名称”属性获取上传文件名

来自分类Dev

获取上传文件的字段名称

来自分类Dev

在输入的名称和数量是动态的情况下,如何处理多个文件上传?

来自分类Dev

如何处理文件上传名称

来自分类Dev

在Django中,上传时如何获取上传文件的文件路径?

来自分类Dev

如何使用Storage Laravel上传多个文件?

来自分类Dev

如何在Android中上传多个文件

来自分类Dev

如何使用Mojolicious上传多个文件?

来自分类Dev

如何使用Webflux上传多个文件?

来自分类Dev

如何使用Filestack上传多个文件?

来自分类Dev

如何在uploadcare中上传多个文件?

来自分类Dev

如何在Android中上传多个文件

来自分类Dev

如何在Codeigniter中上传多个文件?

来自分类Dev

如何在硒中上传多个文件?

来自分类Dev

如何使用AutoIt上传多个文件?

来自分类Dev

从上传的多个文件中获取文件名

来自分类Dev

使用node.js上传文件,获取多个文件

来自分类Dev

如何使用“多文件上传”控件合并多个上传的图像?

来自分类Dev

如何获取上传的文件名?

来自分类Dev

Uploadcare:如何从openDialog获取上传文件?

来自分类Dev

如何获取在laravel中上传的文件?

来自分类Dev

如何使用jquery或javascript获取具有相同名称属性的多个文件的值?

来自分类Dev

如何获取多个选定文件?

Related 相关文章

热门标签

归档