<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
样式不好看自己调哟,已经把关键部分全写好了!
<span style="
width: 134px;
height: 20px;
background-color: aquamarine;
display: block;
position: relative;
text-align: center;
"><input type="file" id="file_input" style="
opacity: 0;
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
"/> 选择文件</span>
<!--选择图片的input按钮-->
<div id="rrr"></div>
<!--拿来放图片用的-->
</body>
</html>
<script>
var aaa = document.getElementById("rrr"); //获取显示图片的div元素
var input = document.getElementById("file_input"); //获取选择图片的input元素
//这边是判断本浏览器是否支持这个API。
if(typeof FileReader === 'undefined') {
aaa.innerHTML = "抱歉,你的浏览器不支持 FileReader";
input.setAttribute('disabled', 'disabled');
} else {
input.addEventListener('change', readFile, false); //如果支持就监听改变事件,一旦改变了就运行readFile函数。
}
function readFile() {
var file = this.files[0]; //获取file对象
//判断file的类型是不是图片类型。
if(!/image\/\w+/.test(file.type)) {
alert("文件必须为图片!");
return false;
}
var reader = new FileReader(); //声明一个FileReader实例
reader.readAsDataURL(file); //调用readAsDataURL方法来读取选中的图像文件
//最后在onload事件中,获取到成功读取的文件内容,并以插入一个img节点的方式显示选中的图片
reader.onload = function(e) {
aaa.innerHTML = '<img src="' + this.result + '" alt=""/>'
}
}
</script>