這邊紀錄一下用 Vue.js 使用 HTML5 File api 的方法,首先先準備 html。
<div id="app">
<input type="file" >
<div>
<img src="img" alt="">
</div>
</div>
Vue.js 的部分我使用 Vue3.x 版:
const app={ data(){ return{ img: null } }, methods: { } } Vue.createApp(app).mount('#app')
在 input 的地方綁定 change 事件,並且讓圖片在 img 有值的時候才出現,並抓取選取的照片的內容:
<input type="file" @change="fileChange">
<div>
<img v-if="img" :src="img" alt="">
</div>
js 的部分:
fileChange(e){ let fileData=e.target.files[0] let reader = new FileReader(); reader.readAsDataURL(fileData); reader.addEventListener("load",(event)=>{ this.img=event.target.result; }) }
完整程式碼: