jq+ajax 原生图片上传示例

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8" />
    <title>图片上传示例</title>
    <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
    <style type="text/css">
        .imageWrapper {
            display: flex;
            flex-direction: column;
        }

        .imageWrapper .fontTip {
            color: #ccc;
            line-height: 24px;
        }

        .imageWrapper .btnUpload {
            height: 33px;
            min-width: 24px;
            padding: 0 20px;
            border: 1px solid #0064b6;
            border-radius: 3px;
            background: #0071ce;
            color: #fff;
            font-size: 14px;
            line-height: 33px;
            text-align: center;
            display: inline-block;
            cursor: pointer;
        }

        .imageShow {
            margin-top: 16px;
            width: 200px;
            height: 200px;
            border: 1px solid rgba(151, 151, 151, 1);
        }

        .imageShow>img {
            width: 100%;
            height: 100%;
        }
    </style>
</head>

<body>
    <div class="imageWrapper">
        <div class="imageShow">
            <input id="imagePic" name="imagePic" type="file"
                accept=".bmp,.jpg,.png,.jpeg,image/bmp,image/jpg,image/png,image/jpeg" style="display:none;" />
            <img id="uploadImageShow" src="" />
        </div>
    </div>
    <div class="imageWrapper">
        <div class="imageShow">
            <input id="imagePic1" name="imagePic" type="file"
                accept=".bmp,.jpg,.png,.jpeg,image/bmp,image/jpg,image/png,image/jpeg" style="display:none;" />
            <img id="uploadImageShow1" src="" />
        </div>
    </div>
</body>
<script src="../js/mui.js"></script>
<script src="../js/index.js"></script>
<script type="text/javascript">
    function uploadImage(uploadImageShow, imagePic) {
        $(uploadImageShow).click(function () {
            $(imagePic).click();
        })
        $(imagePic).on("change", function (e) {
            var file = e.target.files[0]; //获取图片资源
            var fileTypes = ["bmp", "jpg", "png", "jpeg"];
            var bTypeMatch = false
            for (var i = 0; i < fileTypes.length; i++) {
                var start = file.name.lastIndexOf(".");
                var fileType = file.name.substring(start + 1);
                if (fileType.toLowerCase() == fileTypes[i]) {
                    bTypeMatch = true;
                    break;
                }
            }
            if (bTypeMatch) {
                if (file.size <= 1024 * 1024 * 10) {
                    var farmData = new FormData();
                    farmData.append("file", $(imagePic)[0].files[0])
                    mui.ajax(requestUrl + "/net-sign-company/api/upload-image", {
                        data: farmData,
                        processData: false, // 告诉jQuery不要去处理发送的数据
                        contentType: false,
                        dataType: 'json', //服务器返回json格式数据
                        type: 'post', //HTTP请求类型
                        headers: {
                            'zbtoken': localStorage.getItem("token")
                        },
                        success: function (data) {
                            console.log(data.data)
                            var params = data.data
                            $(uploadImageShow).attr("src", params);
                        },
                        error: function (xhr, type, errorThrown) {
                            //异常处理;
                            console.log(type);
                        }
                    });

                } else {
                    alert('仅支持不超过10M的图片');
                    emptyImageUpload(imagePic)
                    $(uploadImageShow).attr("src", "")
                    return false;
                }
            } else {
                alert('仅限bmp,jpg,png,jpeg图片格式');
                emptyImageUpload(imagePic)
                $(uploadImageShow).attr("src", "")
                return false;
            }
        });
    }
    uploadImage("#uploadImageShow", "#imagePic")
    uploadImage("#uploadImageShow1", "#imagePic1")
    //清空上传图片信息
    function emptyImageUpload(selector) {
        var fi;
        var sourceParent;
        if (selector) {
            fi = $(selector);
            sourceParent = fi.parent();
        } else {
            return;
        }
        $("<form id='tempImgForm'></form>").appendTo(document.body);

        var tempImgForm = $("#tempImgForm");
        tempImgForm.append(fi);
        tempImgForm.get(0).reset();
        sourceParent.append(fi);
        tempImgForm.remove();
    }
</script>

</html>

原生封装jq+ajax上传图片,亲测好用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值