本文介绍了在JavaScript中实现图片预览的两种常见方式。首先通过FileReader接口读取本地文件,将其转换为Base64编码字符串并赋值给img标签的src属性;其次探讨了利用Blob对象直接生成预览URL的方法。文章提供了完整的HTML与JS代码示例,帮助开发者快速掌握前端图片预览功能的实现细节。
JavaScript图片预览代码示例
以下是具体的代码实现示例,后续将对内容进行补充和完善:
核心实现逻辑
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>js多种方式图片预览-持续更新</title>
</head>
<body>
<body>
<input type="file" id="file" value="选择" accept="image/*">
<div style="width:300px;height:300px;border:1px solid #ccc">
<img id="img_show" src="" />
</div>
</body>
<script type="text/javascript" src="./jquery-3.1.1.min.js"></script>
<script type="text/javascript">
//设置自己的变量存储区
var Util = {
file : $("#file"),
image_show:$("#img_show")
}
Util.file.onchange=function(f){
if(this.files[0].type.indexOf('image')<0){
alert("请选择图片文件!");
return;
}
if(this.files[0].size/1024 > 5*1024){
alert("图片过大,请选择5M以下的文件");
return;
}
if(typeof FileReader=='undefined'){//如果支持,typeOf返回的也是 Function
alert("您的浏览器不支持html5 fileReader请更换浏览器重试!");
return;
}
var reader = new FileReader();
reader.readAsDataURL(this.files[0]);//这里传的是一个blob ,其实file对象就是继承自bolob
reader.onload=function(e){
console.log(reader.result);//这里拿到的是一个base64编码后的图片
Util.image_show.src=reader.result;
}
};
</script>
</html>
总结与展望
上述内容涵盖了本文的核心知识点,希望能为读者的学习提供有价值的参考。如果您觉得内容有用,欢迎继续支持我们的网站。