HTML5之圖片轉base64編碼

之前在羣裏看到很多小哥哥小姐姐討論關於圖片base64互轉的方法,剛好我之前用到的一個方法給大家分享一下。

<!Doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>圖片轉base64編碼</title>
<style>
* {
margin: 0;
padding: 0;
}
.file_div{
width: 50%;
margin: 0px 1px;
padding: 1% 10px;
}
.demo{
width: 50%;
margin: 0px 1px;
padding:0px 10px;
}
.img img
{
width: 600px;
height: 600px;
}
.file {
position: relative;
display: inline-block;
background: #AADFFD;
border: 1px solid #99D3F5;
border-radius: 30px;
padding: 4px 12px;
overflow: hidden;
color: #1E88C7;
text-decoration: none;
text-indent: 0;
line-height: 130px;
}
.file input {
position: absolute;
font-size: 100px;
right: 0;
top: 0;
opacity: 0;
}
.file:hover {
background: #AADFFD;
border-color: #78C3F3;
color: #004974;
text-decoration: none;
}
</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>原圖展示:</div><img src="' + this.result + '" alt=""/ class="img">';
}
}
</script>
</head>

<body>
<div class="file_div">
<a href="javascript:;" class="file"> 選 擇 圖 片
<input type="file" id="img_upload" />
</a>
</div>
<div class="demo">
<textarea id="base64_code" rows="30" cols="100"></textarea>
<p id="img_area" class="img"></p>
</div>
</body>
</html>

 

很早就出來的一種方法,不過最近在研究圖碼互轉的時候發現一個問題,通過base64編碼轉成圖片的時候,修改格式碼裏面的格式,比如將jpeg改成png的話,就可以直接無損修改圖片格式化了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章