文件异步上传

文件上传总结

三要素

1. post方式上传
2. enctype=“multipart/form-data”

3.input标签里面要有type类型要为file

实现

 <div class="layui-form-item">
      <label class="layui-form-label">图片</label>
      <div class="layui-input-block">
                <#---->
           <input type="file" id="img" value="上传图片" onchange="imgc(this)">
           <img src="" id="im" width="40px" height="40px">
           <input name="imgFile" type="hidden" id="imgFile"><br><br>
      </div>
 </div>
<script>
    function imgc(fi) {
        var file = fi.files[0];
        // 这是一个 标识  key
        var fd = new FormData();
        fd.append("img", file);
        $.ajax({
            url: "/goods/aaa",
            type: "POST",
            contentType: false,
            processData: false,
            data: fd,
            success: function (data) {
                console.log(data)
                $("#im").prop("src", "/image/goods/" + data.file);
                $("#imgFile").val(data.file)
            },
            error: function () {
                alert("上传失败")
            }
        })
    }
</script>

controller接收

@RequestMapping("aaa")
    @ResponseBody
    public Map<String, String> Add(MultipartFile img) throws IOException {
        String fileName = img.getOriginalFilename();
        img.transferTo(new File("E:\\maven\\svn\\admin\\src\\main\\resources\\static\\image\\goods\\" + fileName));
        System.out.println("fileName 11111111111111111111111111111111= " + fileName);
        Map<String, String> map = new HashMap<>();
        map.put("file", fileName);
        return map;
    }

    @RequestMapping("add")
    public String add(Goods goods) {
        int i = goodsService.addGoods(goods);
        if (i == 1) {
            System.out.println("添加成功");
            return "redirect:/goods/show";
        } else {
            return "add";
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值