JS 上传图片时实现预览
网页中一张图片可以这样显示:
<img src=“http://www.letuknowit.com/images/wg.png”/>
也可以这样显示:
<img src=“data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHhJREFUeNo8zjsOxCAMBFB/KEAUFFR0Cbng3nQPw68ArZdAlOZppPFIBhH5EAB8b+Tlt9MYQ6i1BuqFaq1CKSVcxZ2Acs6406KUgpt5/LCKuVgz5BDCSb13ZO99ZOdcZGvt4mJjzMVKqcha68iIePB86GAiOv8CDADlIUQBs7MD3wAAAABJRU5ErkJggg%3D%3D”/>
我们把图像文件的内容直接写在了HTML 文件中,这样做的好处是,节省了一个HTTP 请求。坏处呢,就是浏览器不会缓存这种图像。大家可以根据实际情况进行自由取舍。
<div> <form id="myForm5"> <input type="file" id="myFile5" onchange="previewImg(this)" /> <input type="button" value="AJAX提交FormData对象上传图片" onclick="uploadFileByFormData()" /> </form> </div> <hr /> <div> <img src="" id="myImg" /> </div>
function previewImg(node) { var file = node.files[0];//获取文件 var reader = new FileReader(); reader.readAsDataURL(file);//通过readAsDataURL()方法读取文件 reader.onload = function (evt) {//调用FileReader()的onload事件,当文件读取成功时, //将 reader 的 result 属性值赋值给 img 标签的 src,实现图片预览 $("#myImg").attr("src", evt.target.result); } }