JS 上传图片时实现预览

时间:2023-03-09 03:10:07
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);
}
}