【案例】图片上传

<!DOCTYPE html>

<html lang="en">

<head>

        <meta charset="UTF-8">

        <title>文件上传</title>

        <style>

                 #box{

                         width: 400px;

                         height: 400px;

                         border: 1px solid #ccc;

                         margin: 20px 20px;

                 }

        </style>

</head>

<body>

        <input type="file">

        <div id = "box"></div>

        <span>图片上传进度:</span>

        <progress min="0" max="0" value="0"></progress>

</body>

<script>

        //获取元素

        var input = document.getElementsByTagName('input')[0];

        var box = document.getElementById('box');

        var progress = document.getElementsByTagName('progress')[0];

        input.onchange = function(e){

                 var e = window.event || e;

                 /**

                         首先使用input读取这个文件,然后使用文件读取对象得到文件路径,再将文件路径赋值给img标签。

                 **/

                 //读取文件信息

                 var file = e.target.files[0];

                 //实例化文件读取对象;FileReader()是JS自身的对象

                 var reader = new FileReader();

                 //读取file文件的URL信息

                 reader.readAsDataURL(file);

                 reader.onload = function(){

                         //创建一个img对象

                         var img = document.createElement('img');

                         img.src = this.result;

                         img.style.width = '400px';

                         img.style.height = '400px';

                         box.appendChild(img);

                 }

                 //文件读取进度条

                 reader.onprogress = function(ent){

                         //ent.loaded是当前进度    ent.total是总体进度

                         progress.value = ent.loaded / ent.total;

                 }

        }

</script>

</html>

posted @ 2019-05-28 11:08  笨鸟不会飞~~  阅读(249)  评论(0编辑  收藏  举报