js实现上传图片本地预览应用实例

1、FileReader接口的方法

FileReader接口有4个方法,其中3个用来读取文件,另一个用来中断读取。无论读取成功或失败,方法并不会返回读取结果,这一结果存储在result属性中。

方法名                                     参数                                 描述

readAsBinaryString                file                             将文件读取为二进制编码

readAsText                             file,[encoding]             将文件读取为文本  ,第二个参数为文本的编码方式,默认值为 UTF-8

readAsDataURL                     file                                将文件读取为DataURL

abort                                        (none)                         终端读取操作

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

</head>

<body>

    <input type="file" name="file" id="file"></br>

    <div id="picBox">

<img src="" width="300" height="200" id="img"/>

</div>

</body>

<script type="text/javascript">

        var flObj = document.getElementById("file");

        flObj.onchange=function(){

            var file=flObj.files[0];  //因为每次只上传了一张图片,所以获取到flObj.files[0];    

            var fReader=new FileReader();

            if(file.type.indexOf("image")!=-1){    //判断文件类型是否为image

                fReader.readAsDataURL(file); // 将文件读取为DataURL

                console.log(fReader);

                fReader.onload=function(e){

                        console.log(this.result);

                        document.getElementById("img").src= this.result;

                 }

            }else if(file.type.indexOf("text")!=-1){ //判断文件类型是否为text

                fReader.readAsText(file,“GBK”); //将文件读取为文本

                fReader.onload=function(e){

                console.log(this.result);

                var pObj=document.createElement("p");

                pObj.innerHTML = this.result;

                document.getElementById("picBox").appendChild(pObj);

            }

        }

    }

</script>

</html>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容