目標:選擇的圖片文件,要給到 img 標簽上做純前端的預覽
img 標簽的 src 值
* 只能是圖片的 “鏈接地址”(外鏈http:// 開頭,圖片文件相對路徑)
* 或者是圖片的 base64 字符串(而且字符串還必須是 data:image/png;base64,圖片轉為 base64 字符串)
解決方案1: 文件 -> 內存臨時地址(這個地址只能在 js 內存里不能發給后臺)
語法:URL.CreateObjectURL(文件)? ? 返回值:內存臨時地址
解決方法2:文件 -> base64 字符串
1.創建 FileReader 對象
const fr = new FileReader()
2.調用 readAsDataURL 函數,讀取文件內容
fr.readAsDataURL(files[0])
3.監聽 fr 的 onload 事件
fr.onload = e => {
4.通過 e.target.result 獲取到讀取的結果,值是字符串(base64 格式的字符串)
this.avatar = e.target.result
}
選取文件,原生 input 綁定 change 事件
changemethod(e){
e.target.files[0] 即就是選取的文件,默認模式下只能選擇一個文件
}