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

vue前端如何將任意文件轉(zhuǎn)為base64傳給后端

 更新時(shí)間:2024年03月07日 10:17:35   作者:相與還  
這篇文章主要介紹了vue前端如何將任意文件轉(zhuǎn)為base64傳給后端問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

最近新項(xiàng)目,需要獲取文件的bae64編碼文本,但是原本是用的vantUI的uploader,對安卓手機(jī)的圖片上傳和文件上傳的數(shù)量有限制,一次只能上傳一張圖片(簡直麻了),于是舍棄了它,轉(zhuǎn)而圖片的繼續(xù)沿用之前用過的weixin-js-sdk這個(gè)微信的上傳圖片接口進(jìn)行上傳圖片。

但是還有一個(gè)要求是需要處理pdf為base64,這個(gè)微信的只能處理圖片,所以花了很長的時(shí)間一直在查找資料,終于功夫不負(fù)有心人,做出來了獲取pdf的base64編碼的前端代碼。

同時(shí),經(jīng)過測試,發(fā)現(xiàn)這個(gè)代碼不僅僅能用在pdf上,任意格式,比如pdf,xslx,doc文件都可以轉(zhuǎn)base64。

使用原生input

這個(gè)方式,使用的是H5原生的input進(jìn)行上傳文件

// getBase64為獲取base64的方法
        <input type="file" @change="getBase64">

具體實(shí)現(xiàn)

ps:發(fā)現(xiàn)一個(gè)問題:reader.onload 獲取不到內(nèi)部的值,查詢資料現(xiàn)對如下代碼進(jìn)行修改

原版: 

// 界面
<template>
	<div>
		<input type="file" @change="getBase64">
	</div>
</template>
//js代碼
<script>
	export default {
		methods: {
			getBase64(e) {
			// 選擇的文件
			let file = e.target.files[0];
			console.log(file.name) // 文件名稱,有需求可處理
			console.log(file.type) // 文件類型,有需求可處理
				// 判斷文件是否讀取完畢,讀取完畢后執(zhí)行
			    if (window.FileReader) {
                    let reader = new FileReader();
                    reader.readAsDataURL(file);
                    reader.onload = function(e) {
                        let base64String = e.target.result;
                        // 此處可對該base64進(jìn)行獲取賦值傳入后端
                        console.log("bese64編碼:", base64String);
                    }
                }
			}
		}
	}
</script>

修改后:

// 界面
<template>
	<div>
		<input type="file" @change="getBase64">
	</div>
</template>
//js代碼
<script>
	export default {
		methods: {
			getBase64(e) {
			// 選擇的文件
			let file = e.target.files[0];
			console.log(file.name) // 文件名稱,有需求可處理
			console.log(file.type) // 文件類型,有需求可處理
				// 判斷文件是否讀取完畢,讀取完畢后執(zhí)行
			    if (window.FileReader) {
                    let reader = new FileReader();
                    reader.readAsDataURL(file);
                    reader.onload = e => {
                        let base64String = e.target.result;
                        // 此處可對該base64進(jìn)行獲取賦值傳入后端
                        console.log("bese64編碼:", base64String);
                    }
                }
			}
		}
	}
</script>

即:

reader.onload = function(e) {}     ======>修改為:
reader.onload = e => {}

主要原因是說function() {} 的方式不支持this,導(dǎo)致獲取不到值 

截圖

以下為轉(zhuǎn)base64后的截圖樣例

總結(jié)

綜上,前端任意文件轉(zhuǎn)base64的代碼處理完成!

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue路由history模式解決404問題的幾種方法

    Vue路由history模式解決404問題的幾種方法

    這篇文章主要介紹了Vue路由history模式解決404問題的幾種方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • Vue前端實(shí)現(xiàn)截圖功能的簡單步驟

    Vue前端實(shí)現(xiàn)截圖功能的簡單步驟

    本文介紹了如何使用html2canvas庫來實(shí)現(xiàn)HTML頁面或某個(gè)元素的截圖功能,文中通過代碼介紹的非常詳細(xì),需要注意的是此方法只能在瀏覽器環(huán)境中使用,需要的朋友可以參考下
    2024-10-10
  • vue項(xiàng)目使用electron進(jìn)行打包操作的全過程

    vue項(xiàng)目使用electron進(jìn)行打包操作的全過程

    我們都知道Electron項(xiàng)目分為了主進(jìn)程和渲染進(jìn)程,主進(jìn)程其實(shí)就是我們的Electron,渲染進(jìn)程就相當(dāng)于我們的Vue項(xiàng)目,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目使用electron進(jìn)行打包操作的全過程,需要的朋友可以參考下
    2023-03-03
  • vue-router之路由鉤子函數(shù)應(yīng)用小結(jié)

    vue-router之路由鉤子函數(shù)應(yīng)用小結(jié)

    vue-router提供的導(dǎo)航鉤子主要用來攔截導(dǎo)航,讓它完成跳轉(zhuǎn)或取消,本文主要介紹了vue-router之路由鉤子函數(shù)應(yīng)用小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • vue開發(fā)table數(shù)據(jù)合并實(shí)現(xiàn)詳解

    vue開發(fā)table數(shù)據(jù)合并實(shí)現(xiàn)詳解

    這篇文章主要為大家介紹了vue開發(fā)table數(shù)據(jù)合并實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • vue.js實(shí)現(xiàn)的幻燈片功能示例

    vue.js實(shí)現(xiàn)的幻燈片功能示例

    這篇文章主要介紹了vue.js實(shí)現(xiàn)的幻燈片功能,結(jié)合實(shí)例形式分析了vue.js實(shí)現(xiàn)幻燈片的相關(guān)樣式、配置、功能等操作技巧,需要的朋友可以參考下
    2019-01-01
  • Vue3集成sass的詳細(xì)過程

    Vue3集成sass的詳細(xì)過程

    這篇文章主要介紹了Vue3集成sass的詳細(xì)過程,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2025-04-04
  • 如何本地運(yùn)行vue?dist文件

    如何本地運(yùn)行vue?dist文件

    這篇文章主要介紹了如何本地運(yùn)行vue?dist文件,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Vue事件總線的使用問題及解讀

    Vue事件總線的使用問題及解讀

    這篇文章主要介紹了Vue事件總線的使用問題及解讀,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • 手把手教學(xué)vue的路由權(quán)限問題

    手把手教學(xué)vue的路由權(quán)限問題

    這篇文章主要介紹了手把手教學(xué)vue的路由權(quán)限問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評論

平遥县| 尉氏县| 岐山县| 清徐县| 瑞安市| 蒙阴县| 贵州省| 内江市| 德江县| 沐川县| 广州市| 秦安县| 体育| 平遥县| 玉树县| 勐海县| 青岛市| 涿鹿县| 龙陵县| 淄博市| 玛纳斯县| 沧源| 万盛区| 肥城市| 循化| 高唐县| 囊谦县| 乐安县| 连云港市| 井陉县| 潮安县| 新绛县| 湘乡市| 白水县| 成安县| 黄梅县| 留坝县| 通州区| 郸城县| 岑溪市| 铜川市|