日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript通过 new FileReader() 获取图片base64 无组件上传图片

發布時間:2023/12/31 javascript 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript通过 new FileReader() 获取图片base64 无组件上传图片 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們知道,img的src屬性或background的url屬性,可以通過被賦值為圖片網絡地址或base64的方式顯示圖片。
在文件上傳中,我們一般會先將本地文件上傳到服務器,上傳成功后,由后臺返回圖片的網絡地址再在前端顯示。
通過FileReader的readAsDataURL方法,我們可以不經過后臺,直接將本地圖片顯示在頁面上。這樣做可以減少前后端頻繁的交互過程,減少服務器端無用的圖片資源,代碼如下:

iview官網查看

data(){return{iconFileSrc: null, // 展示再頁面上的圖片路徑editFormData: {iconFile: null // 傳給后臺的圖片路徑}}} <Card title="圖片素材" class="mt10"><FormItem label="應用圖標" prop="iconFile"><div v-if="iconFileSrc" class="upload-icon"><img height="100%" :src="iconFileSrc"></div><Uploadname="iconFile" // 上傳的文件字段名type="drag" // 上傳控件的類型,可選值為 select(點擊選擇),drag(支持拖拽)v-model="editFormData.iconFile"style="display:inline-block;width:58px;":max-size="200" // 文件大小限制,單位 kbaccept=".png" //接受上傳的文件類型:format="['png']" //支持的文件類型,與 accept 不同的是,format 是識別文件的后綴名,accept 為 input 標簽原生的 accept 屬性,會在選擇文件時過濾,可以兩者結合使用:before-upload="iconFileBeforeUpload" // 上傳文件之前的鉤子,參數為上傳的文件,若返回 false 或者 Promise 則停止上傳action="//" // 上傳的地址,必填><div v-if="!editFormData.iconFile" style="width: 58px;height:58px;line-height: 58px;"><Icontype="md-add"size="20"></Icon></div><span v-else class="cp">更換</span></Upload><div class="tips">請上傳200K以內的PNG格式圖片,尺寸為512X512</div></FormItem></Card> // 應用圖標上傳前iconFileBeforeUpload (file) {console.log(file)if (file.type !== 'image/png') {return this.$Notice.warning({title: '上傳格式錯誤',desc: '上傳200K以內的PNG格式圖片,尺寸為512X512'})}if (file.size > 204800) {return this.$Notice.warning({title: '文件超出限制大小',desc: '上傳200K以內的PNG格式圖片,尺寸為512X512'})}this.editFormData.iconFile = file// 展示的時候 使用base64進行展示 傳入數據庫的時候 還是使用原始的file 并進行forData轉化const reader = new FileReader()reader.readAsDataURL(file) // 讀出 base64reader.onload = () => {// 圖片的 base64 格式, 可以直接當成 img 的 src 屬性值const _base64 = reader.resultthis.iconFileSrc = _base64}return false},

file

對于圖片上傳,我們也可以先將圖片轉換為base64進行傳輸,此時由于傳輸的圖片內容就是一段字符串,故上傳接口可以當做普通post接口處理,當圖片傳輸到后臺后,可以在轉換為文件實體存儲。
當然,考慮到base64轉換效率及其本身的大小,本方法還是適合于上傳內容簡單或所占內存較小的文件。
參考:https://www.cnblogs.com/hhhyaaon/p/5929492.html

總結

以上是生活随笔為你收集整理的JavaScript通过 new FileReader() 获取图片base64 无组件上传图片的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。