简体   繁体   English

上传之前预览图片

[英]Images preview before uploading

So I have here my upload script and it has a function that the user can preview selected images before uploading but my problem is that every time I'll upload all images available for preview it is always the last file chosen. 因此,我这里有我的上传脚本,它具有一个功能,用户可以在上传之前预览选定的图像,但是我的问题是,每次我上传所有可用于预览的图像时,它始终是最后选择的文件。

Heres my code: 这是我的代码:

<script type="text/javascript">
    $(document).ready(function(){
        function readURL(input){
            if(input.files[0]){
                var reader = new FileReader();
                reader.onload = function(e){
                    $(".form-holder").append("<img class='prev' />")
                    $(".prev").attr('src', e.target.result);
                }
                reader.readAsDataURL(input.files[0]);
            }
        }
        $("#btn_up").change(function(){

            readURL(this);
        });
    });
</script>

Try This Code 试试这个代码

HTML 的HTML

<input id="imgInput" type="file"  name="file[]" multiple style="display:none;"/>
        <input type="button" onclick="$('#imgInput').click();" value="Choose File" />
         <output id="result" ></output>

    <div style="margin-top:150px;" id="uploadedcontent"></div>

JS JS

        var ftype = new Array();

        $("#imgInput").change(function () {
            readURL(this);

        });
        function readURL(input) {
            var files = input.files;
            var output = document.getElementById("result");
            var count = 0;
             var count1 = 0;
            for (var i = 0; i < files.length; i++) {
                var file = files[i];
                var picReader = new FileReader();
                var divid = 'div_' + i;
                var spanid = 'span_' + i;
                picReader.addEventListener("load", function (event) {
                    var picFile = event.target;
                    var picnames = files[count].name;
                    var mimetypes = picFile.result.split(',');
                    var mimetype1 = mimetypes[0];
                    var mimetype = mimetype1.split(':')[1].split(';')[0];
                    count++;

                    var div = document.createElement("div");
                    div.setAttribute('id', 'div_' + count);
                    div.setAttribute('class', 'divclass');
                    if (mimetype.match('image')) {
                        div.innerHTML = "<img class='thumbnail' src='" + picFile.result + "'" +
                            "title='" + picnames + "' width='96' height='80' alt='Item Image' style='position:relative;padding:10px 10px 10px 10px;' data-valu='" + mimetype + "'/><span class='boxclose' style='cursor:pointer' id='span_" + count + "'>x</span>";

                    }

                    output.insertBefore(div, null);

                });

                picReader.readAsDataURL(file);
            }
        }


$('body').on('click','.boxclose','',function(e){
       var spanid = $(this).attr('id');
            var splitval = spanid.split('_');
            $('#div_' + splitval[1]).remove();
});

DEMO HERE 此处演示

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM