异步上传图片

1、样式

<input class="btn-large" type="button" onclick="$('#certiimg').click();" value="上传图片"/>
<input type="file" style="display: none" id="certiimg" accept="image/gif,image/jpeg,image/jpg,image/png,image/svg"/>

2、js

<script src="https://cdn.staticfile.org/jquery/1.11.0/jquery.min.js"></script>
<script>    
$('#certiimg').on('change', function () {
    var formData = new FormData();
    var file = document.getElementById("certiimg").files[0];
    // 检测文件大小 1024*1024=1048576(1M)
    if (file.size >= 1048576) {
        alert("上传图片大小不得超过1M")
        return false;
    }
    formData.append("file", file);
    $.ajax({
        type: 'POST',
        url: '/test/hello6',
        data: formData,
        contentType: false,
        processData: false,
        async: true,
        success: function (result) {
             alert(result.msg);
            if (result.success) {
                alert(result.data);
            }
        },
        error: function () {

        }
    });
})
</script>

3、后台

@RequestMapping("hello6")
@ResponseBody
public Result hello6(MultipartFile file) {
    String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
    String path = "D:\\pic\\" + UUID.randomUUID() + suffix;
    try {
        file.transferTo(new File(path));
    } catch (IOException e) {
        e.printStackTrace();
        return ResultUtil.error("上传失败");
    }
    return ResultUtil.success("上传成功",path);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值