图片上传并显示
分析:
1、元素:文件上传框input、图片img
2、js步骤:接收文件(files)、读取文件(FileReader类)、进行编码(fileReader.readAsDataURL(xxx))、展示
代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!-- 输入框 -->
<input type="file" id="image" onchange="showImg()" accept="image/jpeg,image/png,image/jpg" />
<!-- 图片展示区域 -->
<img src="" style="display: none" width="200px" height="120px;">
<script>
function showImg () {
// 1、获取文件
var file = document.querySelector('input').files[0];
// 获取到的file包含了文件信息,我们可以打印一下看看里面的内容
console.log(file);
// 2、创建fileReader对象
var fileReader = new FileReader();
if (file) {
// 3、如果文件存在,将整个文件进行编码readAsDataURL()
fileReader.readAsDataURL(file);
}
// 4、将编码后的结果放到src中并显示图片
// onloadend 事件在读取操作结束时触发。
fileReader.onloadend = function () {
document.querySelector('img').setAttribute("style", "display:inline-block");
document.querySelector('img').setAttribute("src", fileReader.result);
};
}
</script>
</body>
</html>