国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

js - 圖片base64轉(zhuǎn)file文件的兩種方式

這篇具有很好參考價值的文章主要介紹了js - 圖片base64轉(zhuǎn)file文件的兩種方式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

最近項目中需要實現(xiàn)把圖片的base64編碼轉(zhuǎn)成file文件的功能,然后再上傳至服務(wù)器。

1.通過new File()將base64轉(zhuǎn)換成file文件,此方式需考慮瀏覽器兼容問題

	=====================1,把base64編碼轉(zhuǎn)為文件對象==========================
	第一個參數(shù)dataUrl是一個base64的字符串。第二個參數(shù)是文件名可以隨意命名
    funtion base64toFile(dataurl, filename = 'file') {
      let arr = dataurl.split(',');
      let mime = arr[0].match(/:(.*?);/)[1];
      // suffix是該文件的后綴
      let suffix = mime.split('/')[1];
      // atob 對經(jīng)過 base-64 編碼的字符串進行解碼
      let bstr = atob(arr[1]);
      // n 是解碼后的長度
      let n = bstr.length;
      // Uint8Array 數(shù)組類型表示一個 8 位無符號整型數(shù)組 初始值都是 數(shù)子0
      let u8arr = new Uint8Array(n);
      // charCodeAt() 方法可返回指定位置的字符的 Unicode 編碼。這個返回值是 0 - 65535 之間的整數(shù)
      while (n--) {
        u8arr[n] = bstr.charCodeAt(n);
      }
      // new File返回File對象 第一個參數(shù)是 ArraryBuffer 或 Bolb 或Arrary 第二個參數(shù)是文件名
      // 第三個參數(shù)是 要放到文件中的內(nèi)容的 MIME 類型
      return new File([u8arr], `${filename}.${suffix}`, {
        type: mime,
      });
    },

2.先將base64轉(zhuǎn)換成blob,再將blob轉(zhuǎn)換成file文件,此方法不存在瀏覽器不兼容問題

methods:{
 	//1,先將base64轉(zhuǎn)換為blob
    dataURLtoBlob(dataurl) {
      var arr = dataurl.split(','),
        mime = arr[0].match(/:(.*?);/)[1],
        bstr = atob(arr[1]),
        n = bstr.length,
        u8arr = new Uint8Array(n);
      while (n--) {
        u8arr[n] = bstr.charCodeAt(n);
      }
      return new Blob([u8arr], { type: mime });
    },
    //2,再將blob轉(zhuǎn)換為file
    blobToFile(theBlob, fileName){
       theBlob.lastModifiedDate = new Date();  // 文件最后的修改日期
       theBlob.name = fileName;                // 文件名
       return new File([theBlob], fileName, {type: theBlob.type, lastModified: Date.now()});
    },

}
 

vue中配合vant的uploader上傳組件使用案例:

	/* 單個文件上傳案例 */
    afterRead(file) {
      // 1.先轉(zhuǎn)為 blob格式  file.content是此文件的base64格式 
      let blob =  this.dataURLtoBlob(file.content);
      // 拿到文件名
      let fileName = file.file.name;
 
      // 2,在轉(zhuǎn)為 file類型
      let file1 = this.blobToFile(blob,fileName);
      console.log("file1:",file1);
      
	 // 3,上傳...
    },

打印結(jié)果如下:
base64轉(zhuǎn)file,javascript,前端,開發(fā)語言文章來源地址http://www.zghlxwxcb.cn/news/detail-634701.html

到了這里,關(guān)于js - 圖片base64轉(zhuǎn)file文件的兩種方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 使用【Blob、Base64】兩種方式顯示【文本、圖片、視頻】 & 使用 video 組件播放視頻

    使用【Blob、Base64】兩種方式顯示【文本、圖片、視頻】 & 使用 video 組件播放視頻

    Blob 對象的類型是由 MIME 類型(Multipurpose Internet Mail Extensions)來確定的。MIME 類型是一種標(biāo)準(zhǔn),用于表示文檔、圖像、音頻、視頻等多媒體文件的類型。以下是一些常見的 Blob 對象類型: text/plain :純文本文件。 text/html :HTML文件。 text/xml :XML文件。 image/png :PNG格式的圖像

    2024年02月03日
    瀏覽(22)
  • Base64轉(zhuǎn)二進制文件流以及轉(zhuǎn)File、圖片轉(zhuǎn)Base64、二進制流轉(zhuǎn)Base64

    1、Base64轉(zhuǎn)二進制文件流 方法一: 調(diào)用示例: 方法二: 調(diào)用示例: ?2、Base64轉(zhuǎn)File 方法一: 調(diào)用示例: 方法二: 調(diào)用示例: 補充: 3、圖片轉(zhuǎn)Base64 調(diào)用示例: 4、二進制流轉(zhuǎn)Base64 方法一: 調(diào)用示例: 方法二: 調(diào)用示例: 5、補充 5.1?atob() atob() ?對經(jīng)過 base-64 編碼的字符

    2024年02月04日
    瀏覽(94)
  • 前端FileReader對象實現(xiàn)圖片file文件轉(zhuǎn)base64

    前端FileReader對象實現(xiàn)圖片file文件轉(zhuǎn)base64

    1、file轉(zhuǎn)base64具體代碼 2、原理解析 ? 上面封裝的方法,其原理主要是借助 FileReader 對象來實現(xiàn)圖片格式的轉(zhuǎn)換, FileReader 對象中的 readAsDataURL() 方法,可以讀取一個 File 或 Blob 類型的文件,并將其轉(zhuǎn)換為base64格式的字符串。但要注意的一點是:我們通過 readAsDataURL() 方法去讀

    2023年04月09日
    瀏覽(33)
  • SpringBoot+Vue項目中遇到Not allowed to load local resource圖片路徑問題的兩種解決方案(在后端映射本地路徑或?qū)D片轉(zhuǎn)base64返回給前端)

    SpringBoot+Vue項目中遇到Not allowed to load local resource圖片路徑問題的兩種解決方案(在后端映射本地路徑或?qū)D片轉(zhuǎn)base64返回給前端)

    后端映射本地路徑 轉(zhuǎn)base64格式返回 如果是少量圖片可以這么操作,不然圖片多的話返回base64由于字符太長,傳輸速度很慢,會導(dǎo)致卡頓現(xiàn)象、加載慢、加載異常等情況出現(xiàn)。 圖片轉(zhuǎn)base64 base64轉(zhuǎn)圖片保存 headPhotoPath = “D:yangleProjectImageLocationheadPhoto” userPhotoPath = “nologin”

    2024年02月06日
    瀏覽(25)
  • uniapp圖片轉(zhuǎn)base64及JS各文件類型相互轉(zhuǎn)換

    uniapp圖片轉(zhuǎn)base64及JS各文件類型相互轉(zhuǎn)換

    App H5 微信小程序 快手小程序 京東小程序 √ √ √ √ √ 功能限制主要在arrayBufferToBase64 微信小程序 字節(jié)跳動小程序 QQ小程序 √ √ √ 功能限制主要在getFileSystemManager H5 √ 功能限制主要在FileReader實例上 在 JavaScript 中的經(jīng)常用到的二進制的格式有三種: ArrayBuffer:用來表示通

    2024年02月08日
    瀏覽(19)
  • JS前端讀取本地上傳的File文件對象內(nèi)容(包括Base64、text、JSON、Blob、ArrayBuffer等類型文件)

    FileReader.readAsArrayBuffer() - Web API 接口參考 | MDN FileReader 接口提供的 readAsArrayBuffer() 方法用于啟動讀取指定的 Blob 或 File 內(nèi)容。當(dāng)讀取操作完成時,readyState 變成 DONE(已完成),并觸發(fā) loadend 事件,同時 result 屬性中將包含一個 ArrayBuffer 對象以表示所讀取文件的數(shù)據(jù)。 https://

    2024年02月15日
    瀏覽(59)
  • 圖片格式轉(zhuǎn)換(File、Blob、base64)

    圖片格式轉(zhuǎn)換(File、Blob、base64)

    前言 記錄一下比較常見的圖片格式(File、Blob、base64)在不同的場景他們之間的相互轉(zhuǎn)換的方法。 一、類型簡介 Blob BLOB(binary large object): 二進制大對象,是一個可以存儲二進制文件的容器。 在計算機中,BLOB常常是數(shù)據(jù)庫中用來存儲二進制文件的字段類型。 屬性名稱 讀/寫 描

    2024年02月02日
    瀏覽(31)
  • 【base64】JavaScript&uniapp 將圖片轉(zhuǎn)為base64并展示

    【base64】JavaScript&uniapp 將圖片轉(zhuǎn)為base64并展示

    Base64是一種用于編碼二進制數(shù)據(jù)的方法,它將二進制數(shù)據(jù)轉(zhuǎn)換為文本字符串。它的主要目的是在網(wǎng)絡(luò)傳輸或存儲過程中,通過將二進制數(shù)據(jù)轉(zhuǎn)換為可打印字符的形式進行傳輸 ?圖片大小從1.36MB到169kb 上面的代碼中,toDataURL產(chǎn)生的是圖片的base64編碼,Base64編碼必須是完整且正確

    2024年02月11日
    瀏覽(26)
  • js:File和Base64(DataURL)互相轉(zhuǎn)換

    使用 使用 在線示例:https://mouday.github.io/front-end-demo/base64-file/base64-file.html 參考 js 把base64轉(zhuǎn)file文件的兩種方式 JS實現(xiàn)將文件和base64的相互轉(zhuǎn)換

    2024年02月15日
    瀏覽(19)
  • js里base64與file之間的轉(zhuǎn)換

    在 js中,可以使用 Blob 對象將 base64 字符串轉(zhuǎn)換為 File 對象。 方法一、base64 直接轉(zhuǎn)換為 File 對象: 首先, 需要從 base64 字符串中獲取文件類型, 然后將文件類型和 base64 字符串轉(zhuǎn)換為 Blob 對象。最后, 使用 Blob 對象構(gòu)造函數(shù)創(chuàng)建一個 File 對象。 下面是一個示例函數(shù),它接收一個

    2024年02月09日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包