How To File (Image) Input And Preview In Run Time

 Html:

<!doctype html>

<html lang="en">


<head>

    <title>Title</title>

    <!-- Required meta tags -->

    <meta charset="utf-8">

    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">


    <!-- Bootstrap CSS -->

    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">


</head>


<body>


    <form>

        <div>

            <div id="img-preview"></div>

            <input type="file" accept="image/*" id="choose-file" name="choose-file" />

            <label for="choose-file">Choose File</label>

        </div>

    </form>


    <!-- Optional JavaScript -->

    <!-- jQuery first, then Popper.js, then Bootstrap JS -->

    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous">

    </script>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous">

    </script>

    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous">

    </script>

</body>

</html>

Css:

#img-preview {

            display: none;

            width: 155px;

            border: 2px dashed #333;

            margin-bottom: 20px;

        }


        #img-preview img {

            width: 100%;

            height: auto;

            display: block;

        }


        [type="file"] {

            height: 0;

            width: 0;

            overflow: hidden;

        }


        [type="file"]+label {

            font-family: sans-serif;

            background: #f44336;

            padding: 10px 30px;

            border: 2px solid #f44336;

            border-radius: 3px;

            color: #fff;

            cursor: pointer;

            transition: all 0.2s;

        }


        [type="file"]+label:hover {

            background-color: #fff;

            color: #f44336;

        }

Js:

const chooseFile = document.getElementById("choose-file");

        const imgPreview = document.getElementById("img-preview");

        chooseFile.addEventListener("change", function () {

            getImgData();

        });


        function getImgData() {

            const files = chooseFile.files[0];

            if (files) {

                const fileReader = new FileReader();

                fileReader.readAsDataURL(files);

                fileReader.addEventListener("load", function () {

                    imgPreview.style.display = "block";

                    imgPreview.innerHTML = '<img src="' + this.result + '" />';

                });

            }

        }


Choose a File From Computer


Run time Image Show



Post a Comment

0 Comments