javascript - 如何在每次上传图像时为其指定不同的ID

标签 javascript file-upload

我目前正在测试用户 OGiS0 的一段代码。这是上传图像的javascript代码。我该如何做到这一点,以便每次上传图像时,它都会获得一个新的 ID,以便我可以不受干扰地拖放它。

window.onload = function(){

//Check File API support
if(window.File && window.FileList && window.FileReader)
{
    var filesInput = document.getElementById("files");

    filesInput.addEventListener("change", function(event){

        var files = event.target.files; //FileList object
        var output = document.getElementById("result");

        for(var i = 0; i< files.length; i++)
        {
            var file = files[i];

            //Only pics
            if(!file.type.match('image'))
              continue;

            var picReader = new FileReader();

            picReader.addEventListener("load",function(event){

                var picFile = event.target;

                var div = document.createElement("div");

                div.innerHTML = "<img id='thumbnail' draggable='true' ondragstart='drag(event)' src='" + picFile.result + "'" +
                        "title='" + picFile.name + "'/>";


                output.insertBefore(div,null);            

            });

             //Read the image
            picReader.readAsDataURL(file);
        }                               

    });
}
else
{
    console.log("Your browser does not support File API");
}

}

拨弄以显示其工作原理:http://jsfiddle.net/Yvgc2/1563/

目前,所有图像在上传时都具有相同的 id,因此无法进行拖放。

最佳答案

快速而肮脏:使用全局变量 (window.thumbId)。

您不应该使用 i 变量的原因是,它会在您每次上传图片时重新启动。

无论您上传多少次多少图片

window.thumbId都会起作用。您将获得诸如 thumbnail1thumbnail2 等 ID:

window.thumbId = (window.thumbId || 0)+1;
div.innerHTML = "<img id='thumbnail"+window.thumbId+"' draggable='true' ondragstart='drag(event)' src='" + picFile.result + "'" +
                            "title='" + picFile.name + "'/>";

关于javascript - 如何在每次上传图像时为其指定不同的ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43838573/

相关文章:

javascript - 如何将图像的一部分从父元素传输到子元素

android - 使用从服务器端应用程序生成的签名 URL 从 Android 将文件(视频文件)上传到 S3 服务器

file - 如何在 Flask Web Framework 中重命名上传的文件

PHP FTP_PUT 上传到目录

javascript - 使用 Javascript/AJAX 进行高效的 block 上传?

php - 配置用于上传文件的php ini文件

javascript - import/export 报表

javascript - Jquery 或 JS : How to check for invalid chars on a string?

javascript - Webpack vs webpack-dev-server vs webpack-dev-middleware vs webpack-hot-middleware vs etc

JavaScript 拆分由下划线分隔的值并计算 SUM