如何上传多张图片并预览所有上传的图片

时间:2020-04-29 16:24:21

标签: javascript jquery laravel bootstrap-4

此代码适用于单个图像,但我需要执行多个操作,因此请帮助我更改此代码

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="row">
                <div class="col">
                    <div><img id="img1" src="" alt="your image" style="max-width:180px;" /><output id=”result” ></div>
                    <div><input id="img11" onchange="readURL(this);" type="file"  name="Image1" id="" style="padding:10px; background:#2d2d2d;" ></div>
                </div>

                <div class="col">
                    <div><img id="img2" src="" alt="your image" style="max-width:180px;" /><output id=”result” ></div>
                    <div><input id="img22" onchange="readURL(this);" type="file"  name="Image1" id="" style="padding:10px; background:#2d2d2d;" ></div>
                </div>


            </div

1 个答案:

答案 0 :(得分:0)

如果要选择多个图像文件并将其显示在dom上!那么您可以执行以下操作: 我想这就是您要寻找的

HTML:

<input type="file" multiple id="gallery-photo-add">
<div class="gallery"></div>

JS:

<script>

$(function() {
    // Multiple images preview in browser
    var imagesPreview = function(input, placeToInsertImagePreview) {

        if (input.files) {
            var filesAmount = input.files.length;

            for (i = 0; i < filesAmount; i++) {
                var reader = new FileReader();

                reader.onload = function(event) {
                    $($.parseHTML('<img>')).attr('src', event.target.result).appendTo(placeToInsertImagePreview);
                }

                reader.readAsDataURL(input.files[i]);
            }
        }

    };

    $('#gallery-photo-add').on('change', function() {
        imagesPreview(this, 'div.gallery');
    });
});

</script>