>웹 프론트엔드 >H5 튜토리얼 >HTML5는 업로드된 이미지를 표시용 base64 인코딩으로 변환하는 기능을 구현합니다(코드 예).

HTML5는 업로드된 이미지를 표시용 base64 인코딩으로 변환하는 기능을 구현합니다(코드 예).

青灯夜游
青灯夜游원래의
2018-10-08 09:25:378877검색

이 장에서는 업로드된 이미지를 표시용 base64 인코딩으로 변환하는 HTML5 구현을 소개합니다(코드 예). 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

먼저 base64 인코딩을 자세히 살펴보겠습니다.

base64 인코딩이란 무엇인가요?

Base64는 인터넷에서 8비트 바이트 코드를 전송하는 데 사용되는 가장 일반적인 인코딩 방법입니다. Base64 인코딩은 HTTP 환경에서 더 긴 식별 정보를 전송하는 데 사용할 수 있으며, 향상된 URL을 사용하여 사용할 수 있습니다. URL에 대한 Base64 인코딩). Base64는 가독성을 두려워하지 않기 때문에, 즉 인코딩된 데이터는 육안으로 직접 볼 수 없으므로 특정 암호화 기능이 있습니다.

이미지를 base64 인코딩으로 변환해야 하는 이유는 무엇인가요?

이미지를 base64 인코딩으로 변환주로 웹페이지의 요청 수를 줄이는 데 사용됩니다 저희 웹사이트는 http 프로토콜을 사용하며, http 프로토콜은 무상태 연결입니다. 연결 및 전송을 중단하면 리소스가 절약됩니다. 이때 해결 방법은 http 요청을 최대한 줄이는 것인데, 이때 base64 인코딩을 사용하면 CSS에 이미지를 추가할 수 있으므로 CSS를 요청하여 이미지를 다운로드할 수 있으므로 이미지를 다시 요청하는 요청이 줄어듭니다. .

업로드된 이미지를 html5에 표시하기 위해 base64 인코딩으로 변환하는 방법은 무엇입니까?

이미지를 base64로 변환하려면 html5 인터페이스인 FileReader.readAsDataURL() 인터페이스를 사용해야 합니다. 이 인터페이스는 파일을 base64 인코딩 형식으로 변환한 다음 데이터 형식으로 표시할 수 있습니다.
생각하기 :

1. 3개의 html 태그를 만들고, 입력은 이미지 업로드에 사용되고, textarea는 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(&#39;change&#39;, 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 = &#39;<div>图片img标签展示:</div><img src="&#39; + this.result + &#39;" alt=""/>&#39;;
				}
			}
		</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 인코딩으로 변환하는 코드입니다. 직접 컴파일해 볼 수 있습니다.

위 내용은 HTML5는 업로드된 이미지를 표시용 base64 인코딩으로 변환하는 기능을 구현합니다(코드 예).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.