jquery实现本地图片上传预览和限流处理

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>HTML5 Upload</title>

    <script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.js"></script>
    <script type="text/javascript">
        //前台处理获取到的图片并预览,前台限制图片的高度和宽度及其图片大小
        var src;
        //         //处理file input加载的图片文件
        $(document).ready(function (e) {
    //获取input图片宽高和大小
    function getImageWidthAndHeight(id, callback) {
        var _URL = window.URL || window.webkitURL;
        $("#" + "imgUpload").change(function (e) {
            var file, img;
            if ((file = this.files[0])) {
                img = new Image();
                img.onload = function () {
                    callback && callback({"width": this.width, "height": this.height, "filesize": file.size});
                };
                img.src = _URL.createObjectURL(file);
            }
        });
    }

    getImageWidthAndHeight('imgUpload', function (obj) {
        // //文件上传后本质上就是上传的一个文件对象的列表,获取上传的列表中的第一个
        var f = document.getElementById('imgUpload').files[0];
        //通过下面的方法将文件读成流的形式
        src = window.URL.createObjectURL(f);
        //生成图片的预览
        //判断图片的高度、宽度、大小
        var height = obj.height;
        var width = obj.width;
        var size = obj.size;
        var imageVaildInfo = vaildImage(height,width,size);
        //如果不正确,进行将之前的清楚
        if("success" !=imageVaildInfo ){
            alert(imageVaildInfo);
            $("#imgUpload").val("");
            return;
        }
        document.getElementById('imageView').style.height=height+"px";
        document.getElementById('imageView').style.width=width+"px";
        document.getElementById('imageView').src = src;
    });

    //图片的大小等信息的验证
            function vaildImage(height,width,size){
                var imageVaildInfo;
                if(height > 500){
                    imageVaildInfo = "你上传的图片已超出限定的图片高度,请重新上传!";
                 }else if(width > 500){
                    imageVaildInfo = "你上传的图片已超出限定的图片宽度,请重新上传!";
                }else{
                    imageVaildInfo = "success";
                }
            return imageVaildInfo;
            }

})


    </script>
</head>

<body>
<input type="file" id="imgUpload" name="imgUpload" draggable="true" single/> <!--允许file控件接受的文件类型-->
<!--<input type="file" id="imgUpload" name="imgUpload" accept="image/*" multiple/>-->
<img id="imageView" src="" style="width:500px;height:500px;border:1px solid #000000;"/>
</body>
</html>

  

猜你喜欢

转载自www.cnblogs.com/fly-boy/p/9401997.html