將圖片檔案轉換為base64格式的程式碼工具案例

專注前端30年發表於2017-12-05
<!doctype html>
<html lang="cn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<input type="file" id="file">
<br>
<textarea name="" id="txt" style="position:fixed; width:100%; top:100px; left:0; right:0; bottom:0;"></textarea>
</body>
<script>
    function change_pic(img_id, file_id) {
        var img = document.getElementById(img_id);
        var file = document.getElementById(file_id);
        if (!(window.FileReader && window.File && window.FileList && window.Blob)) {
            img.alt = '您的瀏覽器不支援fileReader';
        }
        file.addEventListener('change', function(e) {
            var files = this.files;
            if (files.length) {
                // 對檔案進行處理,下面會講解checkFile()會做什麼
                checkFile(this.files);
            }
        });
        // 圖片處理
        function checkFile(files) {
            var file = files[0];
            var reader = new FileReader();
            // show表示<div id='show'></div>,用來展示圖片預覽的
            if (!/image\/\w+/.test(file.type)) {
                show.innerHTML = "請確保檔案為影像型別";
                return false;
            }
            // onload是非同步操作
            reader.onload = function(e) {
                //show.innerHTML = '<img src="'+e.target.result+'" alt="img">';
                img.value = e.target.result;
            };
            reader.readAsDataURL(file);
        }
    }
    change_pic("txt", "file");
    //呼叫方法,change_pic(textarea的id,檔案選擇iput框id);
</script>
</html>

使用

直接開啟頁面上傳一張圖片,就能看到轉換成當前base64的資料

相關文章