最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue圖片轉(zhuǎn)base64格式的方法示例

 更新時間:2022年12月21日 14:55:55   作者:仗劍東游的貓  
對于前后端分離的項目,為了統(tǒng)一響應參數(shù),需要將圖片轉(zhuǎn)換成base64的格式,下面這篇文章主要給大家介紹了關(guān)于vue圖片轉(zhuǎn)base64格式的相關(guān)資料,需要的朋友可以參考下

1.require的方式

用vue引入圖片的require方式獲取的值可以直接生成base64格式,但是該方法只適用于5kb大小以下的圖片

const path = require('@/assets/images/test.png')

2.canvas.toDataURL()

該方法canvas.toDataURL(`image/${ext}`)傳入的圖片類型是什么生成后的base64數(shù)據(jù)前綴就是什么類型,如果傳入的類型和生成的類型不同,則表示該方法不支持該類型的圖片,例如gif圖片轉(zhuǎn)換后是png

imgUrlToBase64(url) {
      return new Promise((resolve, reject) => {
        if (!url) {
          reject('請傳入url內(nèi)容')
        }
        if (/\.(png|jpe?g|gif|svg)(\?.*)?$/.test(url)) {
          // 圖片地址
          const image = new Image()
          // 設置跨域問題
          image.setAttribute('crossOrigin', 'anonymous')
          // 圖片地址
          image.src = url
          image.onload = () => {
            const canvas = document.createElement('canvas')
            const ctx = canvas.getContext('2d')
            canvas.width = image.width
            canvas.height = image.height
            ctx.drawImage(image, 0, 0, image.width, image.height)
            // 獲取圖片后綴
            const ext = url.substring(url.lastIndexOf('.') + 1).toLowerCase()
            // 轉(zhuǎn)base64
            const dataUrl = canvas.toDataURL(`image/${ext}`)
            resolve(dataUrl || '')
          }
        } else {
          // 非圖片地址
          reject('非(png/jpe?g/gif/svg等)圖片地址');
        }
      })
    },

3.FileReader.readAsDataURL()

getBase64(imgUrl) {
      return new Promise((resolve, reject) => {
        if (!imgUrl) {
          reject('請傳入imgUrl內(nèi)容')
        }
        if (/\.(png|jpe?g|gif|svg)(\?.*)?$/.test(imgUrl)) {
          window.URL = window.URL || window.webkitURL
          var xhr = new XMLHttpRequest()
          xhr.open('get', imgUrl, true)
          xhr.responseType = 'blob'
          xhr.onload = function() {
            if (this.status == 200) {
              // 得到一個blob對象
              var blob = this.response
              const oFileReader = new FileReader()
              oFileReader.onloadend = function(e) {
                const base64 = e.target.result
                resolve(base64 || '')
              }
              oFileReader.readAsDataURL(blob)
            }
          }
          xhr.send()
        } else {
          // 非圖片地址
          reject('非(png/jpe?g/gif/svg等)圖片地址')
        }
      })
    },

總結(jié)

到此這篇關(guān)于vue圖片轉(zhuǎn)base64格式的文章就介紹到這了,更多相關(guān)vue圖片轉(zhuǎn)base64格式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue加載中動畫組件使用方法詳解

    Vue加載中動畫組件使用方法詳解

    這篇文章主要為大家詳細介紹了Vue加載中動畫組件使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue中的cookies緩存存值方式 超簡單

    vue中的cookies緩存存值方式 超簡單

    這篇文章主要介紹了vue中的cookies緩存存值方式,超簡單!具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 尤雨溪開發(fā)vue?dev?server理解vite原理

    尤雨溪開發(fā)vue?dev?server理解vite原理

    這篇文章主要為大家介紹了尤雨溪開發(fā)的玩具vite,vue-dev-server來理解vite原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • 解決betterScroll在vue中存在圖片時,出現(xiàn)拉不動的問題

    解決betterScroll在vue中存在圖片時,出現(xiàn)拉不動的問題

    今天小編就為大家分享一篇解決betterScroll在vue中存在圖片時,出現(xiàn)拉不動的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 使用vscode格式化文檔無效的解決辦法(vue代碼格式化文檔無效)

    使用vscode格式化文檔無效的解決辦法(vue代碼格式化文檔無效)

    這篇文章主要給大家介紹了關(guān)于使用vscode格式化文檔無效的解決辦法,也就是vue代碼格式化文檔無效,這是最近突然遇到的一個問題,這里給大家介紹一下解決的辦法,需要的朋友可以參考下
    2023-08-08
  • Vue+Element UI實現(xiàn)概要小彈窗的全過程

    Vue+Element UI實現(xiàn)概要小彈窗的全過程

    彈窗效果是我們?nèi)粘i_發(fā)中經(jīng)常遇到的一個功能,下面這篇文章主要給大家介紹了關(guān)于Vue+Element UI實現(xiàn)概要小彈窗的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • 如何去除vue項目中的#及其ie9兼容性

    如何去除vue項目中的#及其ie9兼容性

    本篇文章主要介紹了如何去除vue項目中的#及其ie9兼容性,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • Vue Build后的項目的根路徑配置方式

    Vue Build后的項目的根路徑配置方式

    這篇文章主要介紹了Vue Build后的項目的根路徑配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 在Vue組件中獲取全局的點擊事件方法

    在Vue組件中獲取全局的點擊事件方法

    今天小編就為大家分享一篇在Vue組件中獲取全局的點擊事件方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue基礎(chǔ)語法之插值表達式詳解

    vue基礎(chǔ)語法之插值表達式詳解

    這篇文章主要為大家詳細介紹了vue基礎(chǔ)語法之插值表達式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01

最新評論

扶风县| 波密县| 本溪| 礼泉县| 泾源县| 象山县| 岱山县| 嫩江县| 习水县| 象州县| 平果县| 清远市| 开江县| 平阴县| 富源县| 大同市| 东方市| 大宁县| 泰安市| 汤原县| 繁昌县| 文山县| 大理市| 托里县| 老河口市| 新竹市| 杭州市| 绥芬河市| 南投市| 江津市| 洪江市| 凭祥市| 万年县| 石首市| 三明市| 桓仁| 耿马| 安龙县| 北流市| 晴隆县| 靖江市|