JavaScript实现简单的前端上传图片预览
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript实现简单的前端上传图片预览相关的知识,希望对你有一定的参考价值。
JavaScript实现简单的前端上传图片预览
<div class="file_upload"> <div id="portrait"></div> <input type="file" name="" id="" onchange="showPerview(this)"> </div> <script type="text/javascript"> function showPerview(source) { var file = source.files[0]; if (window.FileReader) { var fr = new FileReader(); fr.onloadend = function(e) { document.getElementById(‘portrait‘).style.backgroundImage =‘url(‘+e.target.result+‘)‘; document.getElementById(‘portrait‘).style.backgroundSize = ‘cover‘; document.getElementById(‘portrait‘).style.backgroundRepeat = ‘no-repeat‘; }; fr.readAsDataURL(file); } } </script>
使用FileReader
对象,web应用程序可以异步的读取存储在用户计算机上的文件(或者原始数据缓冲)内容,可以使用File
对象或者Blob
对象来指定所要处理的文件或数据.其中File对象可以是来自用户在一个<input>
元素上选择文件后返回的FileList
对象,也可以来自拖放操作生成的 DataTransfer
对象,还可以是来自在一个htmlCanvasElement
上执行mozGetAsFile()方法后的返回结果
.
readAsDataURL()
开始读取指定的Blob
对象或File
对象中的内容. 当读取操作完成时,readyState
属性的值会成为DONE
,如果设置了onloadend事件处理程序,则调用之
.同时,result
属性中将包含一个data:
URL格式的字符串以表示所读取文件的内容.
事件处理程序
onabort
- 当读取操作被中止时调用.
onerror
- 当读取操作发生错误时调用.
onload
- 当读取操作成功完成时调用.
onloadend
- 当读取操作完成时调用,不管是成功还是失败.该处理程序在
onload
或者onerror之后调用
. onloadstart
- 当读取操作将要开始之前调用.
onprogress
- 在读取数据过程中周期性调用.
以上是关于JavaScript实现简单的前端上传图片预览的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript零基础入门 10:用JavaScript实现图片上传并预览