JSFiddle - React, Tailwind, and code Playground

by Vetrivel Samidurai

HTML

<div id="wrapper" style="margin-top:20px;">
    <input id="fileUpload1" alt="1" class="fileUpload" type="file" multiple />
    <br />
    <div id="image-holder1" class="1"></div>
    
    <input id="fileUpload2" alt="2" class="fileUpload" type="file" multiple />
    <br />
    <div id="image-holder2" class="2" ></div>
</div>

CSS

.thumb-image {
    float:left;
    width:100px;
    position:relative;
    padding:5px;
}

JavaScript

$(".fileUpload").on('change', function () {
var pos = $(this).attr('alt');
//alert(pos);

     //Get count of selected files
     var countFiles = $(this)[0].files.length;

     var imgPath = $(this)[0].value;
     var extn = imgPath.substring(imgPath.lastIndexOf('.') + 1).toLowerCase();
     var image_holder = $("#image-holder"+pos);
     image_holder.empty();

     if (extn == "gif" || extn == "png" || extn == "jpg" || extn == "jpeg") {
         if (typeof (FileReader) != "undefined") {

             //loop for each file selected for uploaded.
             for (var i = 0; i < countFiles; i++) {

                 var reader = new FileReader();
                 reader.onload = function (e) {
                     $("<img />", {
                         "src": e.target.result,
                             "class": "thumb-image"
                     }).appendTo(image_holder);
                 }

                 image_holder.show();
                 reader.readAsDataURL($(this)[0].files[i]);
             }

         } else {
             alert("This browser does not support FileReader.");
         }
     } else {
         alert("Pls select only images");
     }
 });