html代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./vue.js"></script>
<link rel="stylesheet" href="./test.css">
</head>
<body>
<div id="app">
<!-- 上传图片 -->
<div class="img_up" style="width: 700px; height: 600px; margin: 40px 80px;">
<label style="color: black; font-size: 25px; font-weight: 100; margin: 10px 0px 0px 50px;">图片预览效果:</label>
<a href="javascript:;" class="file" @click="upimgs">
<input type="file" name="img" required>
</a>
<!-- 图片宽度100%,高度自适应,保持图片不变行 -->
<div class="tableimg"><img id="img" width="100%" src="./upload.png"></div>
</div>
</div>
<script>
var vm = new Vue({
el: "#app",
data: {},
methods: {
upimgs(){
var small_img = document.querySelector('input[name=small_img]');
var img = document.querySelector('input[name=img]');
small_imgs = document.querySelector('#small_img');
imgs = document.querySelector('#img');
if (small_img) {
small_img.addEventListener('change', function() {
var file = this.files[0];
var reader = new FileReader();
reader.addEventListener("load", function() {
small_imgs.src = reader.result;
}, false);
reader.readAsDataURL(file);
$("img").eq(0).css("display", "block");
}, false);
}
if(img){
img.addEventListener('change', function() {
var file = this.files[0];
var reader = new FileReader();
reader.addEventListener("load", function() {
imgs.src = reader.result;
}, false);
reader.readAsDataURL(file);
}, false);
}
}
}
})
</script>
</body
</html>
css代码
.file input {
position:absolute;
z-index:2;
width: 700px;
height: 560px;
font-size: 20px;
cursor:pointer;
opacity: 0;
}
.tableimg{
z-index:1;
width: 700px;
height: 560px;
border-radius: 5%;
border: 3px solid #99D3F5;
display: table-cell ;
vertical-align: middle;
}
效果预览
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ea03c6ca597067b331da8bb0ae8ed001.png)