js多图上传转码64

Posted mj-my

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js多图上传转码64相关的知识,希望对你有一定的参考价值。

<div>
    <form action="/home/Uplod" method="post" enctype="multipart/form-data">
        <input type="file" name="file" id="image" multiple="multiple" onchange="fun(this)" />
        <input type="button" value="submit" id="submit" />
    </form>
</div>

<script type="text/javascript">
        var AllowImgFileSize = 2100000; //限制上传大小
        var tempbase = [];       //bas64数组
        $(function () {
            $("#submit").click(function () {
                console.log($("#image")[0].files.length)
                if ($("#image")[0].files.length < 1) {
                    alert("请最少选择一个图片")
                    return;
                }
                for (var i = 0; i < $("#image")[0].files.length; i++) {
                    if ($("#image")[0].files[i].size > AllowImgFileSize) {
                        alert("上传失败,请上传不大于2M的图片!");
                        return;
                    }
                }
                console.log(tempbase);
                console.log(tempbase[0]);
                
            })
        })

        function fun(obj) {
            var files = obj.files;
               tempbase = [];
               
//             var readFileAsync = file => new Promise(resolve => {
//                var reader = new FileReader();
//                reader.onload = evt => resolve(evt.target.result);
//                reader.readAsDataURL(file);
//             })
            function readFileAsync(file) {
                    return new Promise(function (resolve) {
                            var reader = new FileReader();
                            reader.onload = function (evt) {
                                    return resolve(evt.target.result);
                            };
                            reader.readAsDataURL(file);
                    });
            };
              for (let j = 0; j < files.length; j++) {
                readFileAsync(files[j]).then(function(res){
                    tempbase.push(res);
                });
              };
        }
        
        
    </script>

 

以上是关于js多图上传转码64的主要内容,如果未能解决你的问题,请参考以下文章

base64实现图片多图上传功能

tp5多图上传

uni-app上传头像base64转码

js前端实现多图图片上传预览

七牛多图及分段上传(JavaScript)

PHP + JQuery 实现多图上传并预览