溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現html5把上傳的圖片轉成base64編碼在顯示

發布時間:2020-07-10 10:29:01 來源:億速云 閱讀:916 作者:Leah 欄目:web開發

這篇文章將為大家詳細講解有關如何實現html5把上傳的圖片轉成base64編碼在顯示,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

首先我們來詳細的看一看base64編碼

什么是base64編碼?

Base64是一種網絡上最常見的用于傳輸8Bit字節代碼的編碼方式,Base64編碼可用于在HTTP環境下傳遞較長的標識信息,同時可以放在url當中使用(采用一種用于URL的改進Base64編碼)。因為base64不懼可讀性,即所編碼的數據不會被人用肉眼所直接看到,所以具有一定的加密功能。

為什么要把圖片轉成base64編碼?

將圖片轉換成base64編碼主要是為了用在網頁上減少請求次數,我們的網站采用的都是http協議,而http協議是一種無狀態的連接,就是連接和傳輸后都會斷開連接節省資源。此時解決的方法就是盡量的減少http請求,此時base64編碼可以將圖片添加到css中,實現請求css即可下載下來圖片,減少了再次請求圖片的請求。

html5如何實現把上傳的圖片轉成base64編碼在顯示?

將圖片轉換成base64需要使用到一個html5的接口:FileReader.readAsDataURL()接口,這個接口可以將文件轉換成base64編碼格式,并且再以data:URL的形式展現出來
思路:

1.創建三個html標簽,input用來上傳圖片,textarea用來顯示base64代碼,因為base64代碼內容很多所以使用textarea標簽,p標簽用來顯示圖片。
2.使用js調用html5的FileReader.readAsDataURL()的API,聲明三個變量用于控制圖片上傳,base64代碼顯示以及圖片的顯示。
3.img_upload.addEventListener('change',readFile,false);添加一個監聽事件,如果上傳文件發生變化就執行readFile函數。
4.readFile函數的內容就是調用接口,將圖片轉換成base64再輸出。
5.在執行轉換和輸出之前先判斷一下上傳文件是不是圖片。

代碼如下:

<!Doctype html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>html5 圖片轉base64編碼</title>
		<style>
			* {
				margin: 0;
				padding: 0;
			}
			.demo{
				width: 100%;
				margin: 50px;
			}
		</style>
		<script type="text/javascript">
			window.onload = function() {
				// 抓取上傳圖片,轉換代碼結果,顯示圖片的dom
				var img_upload = document.getElementById("img_upload");
				var base64_code = document.getElementById("base64_code");
				var img_area = document.getElementById("img_area");
				// 添加功能出發監聽事件
				img_upload.addEventListener('change', readFile, false);
			}

			function readFile() {
				var file = this.files[0];//這里是抓取到上傳的對象。
				if(!/image\/\w+/.test(file.type)) {
					alert("請確保文件為圖像類型");
					return false;
				}
				var reader = new FileReader();
				reader.readAsDataURL(file);
				reader.onload = function() {
					base64_code.innerHTML = this.result;
					//this.result里的這個result是FileReader.readAsDataURL()接口當中轉換完圖片輸出的base64結果存放在result當中
					img_area.innerHTML = '<div>圖片img標簽展示:</div><img src="' + this.result + '" alt=""/>';
				}
			}
		</script>
	</head>

	<body>
		<div class="demo">
			<input type="file" id="img_upload" />
			<textarea id="base64_code" rows="30" cols="100"></textarea>
			<p id="img_area"></p>
		</div>
	</body>
</html>

看看效果圖:

如何實現html5把上傳的圖片轉成base64編碼在顯示

關于如何實現html5把上傳的圖片轉成base64編碼在顯示就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女