修改上传文件的样式.限定只能上传图片.预览选中的图片.并可以取消选择

修改上传文件的样式.限定只能上传图片.预览选中的图片.并可以取消选择

1、html部分

<div class="g-right">
    <%--  用来显示预览的img标签,如果是一开始进来没有图片,就先显示固定的未上传的图片  --%>
    <img src="${pageContext.request.contextPath}/static/js/未上传.png" id="previewImage">
    <%--  用来上传文件的部分,使用accept来限定只能上传图片  --%>
    <input type="file" id="multipartFile" accept="image/*">
    <%--  删除按钮,只有当鼠标移上去的时候才会显现,点击以后取消选择了文件  --%>
    <div id="cancel" onclick="cancel();"></div>
</div>

2、css部分

<style>
    .g-right {
        height: 71px;
        width: 71px;
        float: left;
        margin-top: 0;
    }

    .g-right:hover div {
        display: inline-block;
        width: 16px;
        height: 4px;
        background: red;
        line-height: 0;
        font-size: 0;
        vertical-align: middle;
        -webkit-transform: rotate(45deg);
    }

    .g-right:hover div:after {
        content: '/';
        display: block;
        width: 16px;
        height: 4px;
        background: red;
        -webkit-transform: rotate(-90deg);
    }

    #previewImage {
        float: left;
        width: 71px;
        height: 71px;
    }

    #multipartFile {
        width: 71px;
        float: left;
        opacity: 0;
        margin-top: -71px;
        height: 71px;
    }

    #cancel {
        float: right;
        margin-top: -65px;
    }
</style>

3、js部分(需要引入jquery.js的文件)

<script>
    //取消文件的选中
    function cancel() {
        //将预览改回未上传
        document.getElementById('previewImage').src = '${pageContext.request.contextPath}/static/js/未上传.png';
        //同时取消文件选中
        document.getElementById('multipartFile').value = ''
    }

    //1、创建文件读取对象
    var x = new FileReader;
    //2、读取选中的文件
    document.getElementById('multipartFile').onchange = function () {
        x.readAsDataURL(this.files[0]);
    };
    //3、将选中的图片拿来预览
    x.onloadend = function () {
        $('#previewImage').attr("src", this.result);
        $('#previewImage').attr("width", '30px');
        $('#previewImage').attr("height", '30px');
        $('#previewImage').attr("marginRight", '10px');
        $('#previewImage').attr("borderRadius", '50%');
    };
</script>

4、测试结果

这个是一开始还没有选择上传文件的时候

选择了一张鲤鱼王的图片用来上传
鼠标移上去,准备取消选择的图片,如果点击了,就会变回原来的样子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值