从对话框中获取文件路径,并在使用重复项时触发.change()

时间:2017-08-15 10:03:48

标签: javascript jquery

我使用小文件上传对话框来显示一些图像。

$("document").ready(function () {
    $("#dialogImageUpload").change(function (input) {
        $(input.target.files).each(function (imageIndex, currentImage) {
            if (currentImage.type.match('image.*')){
                alert(currentImage.name);
            }
        });
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <input type="file" id="dialogImageUpload" multiple>
    <div id="ImageListContainer"></div>

因此,您可以阅读currentImage的名称。我怎样才能从中获得完整的路径?

例如

var uploadedImage = $("<div><img src= theFilePath /></div>");

我的第二个问题是当使用文件对话框时,如果像以前一样选择了不同的文件,change事件显然会被触发。但是,如果我想两次上传文件怎么办? change事件不再被触发。我能以某种方式解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

  1. 由于浏览器的安全限制,您无法通过javascript获取文件路径。

  2. 当您点击file输入时,您可以将值更改为'',如果您选择任何内容,它将触发onchange