4

我正在尝试为我的网站创建简单的图片上传器,但我遇到了一个问题。当我想将我的新图像添加到以前选择的图像时,不能保存旧的选择图像(因为创建了新的 FileList 对象),然后将它们全部发送到我的控制器和我的问题返回到,将旧的“文件对象”添加到新的“文件列表”对象'。html:

<div id="filediv">
    <input type="file" id="file" name="files[]" multiple="multiple" />
</div>

脚本:

window.filesToUpload = [];
window.tmp = [];
$("#file").on('change', function () {
    "use strict";

    if (window.filesToUpload.length > 0) {
        $.each(window.tmp, function (i, img) {

我想在此处将旧文件对象添加到新的 FileList 对象

        });
    }

    if (this.files.length >= 1) {
        $("[id^=previewImg]").remove();
        $.each(this.files, function (i, img) {
            window.tmp.push(img);

            var reader = new FileReader(),
                newElement = $("<div id='previewImg" + i + "' class='abcd'><img /></div>"),
                preview = newElement.find("img");

            reader.onloadend = function () {
                preview.attr("src", reader.result);
                preview.attr("alt", img.name);
            };

            try {
                window.filesToUpload.push(document.getElementById("file").files[i]);
            } catch (e) {
                console.log(e.message);
            }

            if (img) {
                reader.readAsDataURL(img);
            } else {
                preview.src = "";
            }


            newElement.appendTo("#filediv");
        });
    }
});
4

0 回答 0