亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

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

使用原生input

這個方式,使用的是H5原生的input進行上傳文件

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

具體實現(xiàn)

ps:發(fā)現(xiàn)一個問題:reader.onload 獲取不到內(nèi)部的值,查詢資料現(xià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進行獲取賦值傳入后端
                        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進行獲取賦值傳入后端
                        console.log("bese64編碼:", base64String);
                    }
                }
			}
		}
	}
</script>

即:

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

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

截圖

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

總結(jié)

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

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

相關(guān)文章

  • Vue.js學(xué)習(xí)教程之列表渲染詳解

    Vue.js學(xué)習(xí)教程之列表渲染詳解

    這篇文章主要給大家介紹了關(guān)于Vue.js列表渲染的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • 解決vue-quill-editor上傳內(nèi)容由于圖片是base64的導(dǎo)致字符太長的問題

    解決vue-quill-editor上傳內(nèi)容由于圖片是base64的導(dǎo)致字符太長的問題

    vue-quill-editor默認(rèn)插入圖片是直接將圖片轉(zhuǎn)為base64再放入內(nèi)容中,如果圖片較多,篇幅太長,就會比較煩惱,接下來通過本文給大家介紹vue-quill-editor上傳內(nèi)容由于圖片是base64的導(dǎo)致字符太長的問題及解決方法,需要的朋友可以參考下
    2018-08-08
  • vue3腳手架簡單靜態(tài)路由解讀

    vue3腳手架簡單靜態(tài)路由解讀

    這篇文章主要介紹了vue3腳手架簡單靜態(tài)路由,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 一文搞懂VueJs中customRef函數(shù)使用

    一文搞懂VueJs中customRef函數(shù)使用

    這篇文章主要為大家介紹了VueJs中customRef函數(shù)使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • 詳解Vue.directive 自定義指令

    詳解Vue.directive 自定義指令

    這篇文章主要介紹了Vue.directive 自定義指令,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 關(guān)于vue路由監(jiān)聽事件跳轉(zhuǎn)的問題

    關(guān)于vue路由監(jiān)聽事件跳轉(zhuǎn)的問題

    這篇文章主要介紹了關(guān)于vue路由監(jiān)聽事件跳轉(zhuǎn)的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • npm install卡在“sill idealTree buildDeps“問題的兩種解決方法

    npm install卡在“sill idealTree buildDeps“問題的兩種解

    本文主要介紹了npm install卡在“sill idealTree buildDeps“問題的兩種解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • 前端通過vue調(diào)用后端接口導(dǎo)出excel表格基本步驟

    前端通過vue調(diào)用后端接口導(dǎo)出excel表格基本步驟

    在Vue前端項目中,可通過axios庫發(fā)送請求至后端獲取Excel下載鏈接,文中通過代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-10-10
  • vue項目中使用rem,在入口文件添加內(nèi)容操作

    vue項目中使用rem,在入口文件添加內(nèi)容操作

    這篇文章主要介紹了vue項目中使用rem,在入口文件添加內(nèi)容操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 詳解vuex中的this.$store.dispatch方法

    詳解vuex中的this.$store.dispatch方法

    這篇文章主要介紹了vuex中的this.$store.dispatch方法,必須要用commit(‘SET_TOKEN’,?tokenV)調(diào)用mutations里的方法,才能在store存儲成功,需要的朋友可以參考下
    2022-11-11

最新評論