我想对前端的图片上传模块加一个预览功能。 现在的上传模块是这样的form submitprevent=uploadImage label for=image请选择一个图像:label input type=file id=image ref=image accept=image button type=submit上传button form
可以在input标签上添加一个change事件监听器,获取用户选择的图片,并将其转换为DataURL,然后在页面上添加一个img标签,将DataURL设置为img的src属性值,从而实现图片的预览功能。具体代码如下:
<template>
<div>
<form @submit.prevent="uploadImage">
<label for="image">请选择一个图像:</label>
<input type="file" id="image" ref="image" accept="image/*" @change="previewImage">
<button type="submit">上传</button>
</form>
<img v-if="previewUrl" :src="previewUrl" alt="预览图" />
</div>
</template>
<script>
export default {
data() {
return {
previewUrl: '', // 预览图片的DataURL
}
},
methods: {
async uploadImage() {
// 上传图片的逻辑
},
async previewImage() {
const file = this.$refs.image.files[0]
if (file) {
const reader = new FileReader()
reader.readAsDataURL(file)
reader.onload = () => {
this.previewUrl = reader.result
}
}
},
},
}
</script>
``
原文地址: https://www.cveoy.top/t/topic/chhI 著作权归作者所有。请勿转载和采集!