使用Vue獲取本地圖片并顯示,需要使用HTML5的File API來讀取用戶選擇的文件。Vue的組件系統使得我們可以把這個功能封裝成一個組件。
首先,我們需要在<input>
標簽上加上type="file"
,這樣用戶就可以選擇本地文件了。
<template>
<div>
<input type="file" @change="onFileChange">
<img :src="imageUrl">
</div>
</template>
彈出文件選擇框之后,我們需要在onFileChange
函數中讀取文件并將其轉化為Base64編碼的字符串,然后將其賦值給圖片的src
屬性。這個函數可以使用HTML5的FileReader對象來實現。
<script>
export default {
data() {
return {
imageUrl: ''
}
},
methods: {
onFileChange(e) {
const file = e.target.files[0]
const reader = new FileReader()
reader.onload = (e) => {
this.imageUrl = e.target.result
}
reader.readAsDataURL(file)
}
}
}
</script>
最后我們在模板中使用<img>
標簽來顯示圖片,其src
屬性綁定到我們剛剛定義的imageUrl
變量。
這就是Vue獲取本地圖片并顯示的方法,通過File API讀取本地文件,將其轉化為Base64編碼的字符串,然后將其賦值給圖片的src
屬性。這個方法非常簡單,如果需要上傳圖片,可以把Base64編碼的字符串作為參數傳遞給后端。
上一篇vue獲取未渲染div