Spring MVC enctype="multipart/form-data" form上传文件同时传递参数方法

使用restful接口写法,将参数加到路径中就可以在上传时传递参数了

1、使用表单提交时:

form表单:

<form id="imageForm" action="upload/uploadImage/参数1/参数2..." enctype="multipart/form-data">
    <div> 
      <input type="file" id="input-image" name="input-image"> 
      <input type="submit" value="提交"/>
    </div> 
</form>

controller处理:


    @RequestMapping(value = "upload/uploadImage/{参数1名称}/{参数2名称}/...", method = RequestMethod.POST)
    @ResponseBody
    public boolean uploadImage(HttpServletRequest request, @PathVariable 参数类型 参数1名称, @PathVariable 参数类型 参数2名称,...) {
      //在此处执行程序逻辑
    }

注释:上面的 … 是指更多的参数。

2、使用ajax提交时:

ajax写法:

   $.ajax({
                url: "upload/uploadImage/参数1/参数2/...",
                type: 'POST',
                cache: false,//上传文件无需缓存
                data: new FormData($("#imageForm")[0]),
                processData: false,//用于对data参数进行序列化处理 这里必须false
                contentType: false,//enctype="multipart/form-data",不能再指定其他mime类型
                success: function (data) {
                  //上传成功
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    toastError("请求失败,请重试!" + errorThrown);
                }
            });

controller处理:

    @RequestMapping(value = "upload/uploadImage/{参数1名称}/{参数2名称}/...", method = RequestMethod.POST)
    @ResponseBody
    public boolean uploadImage(HttpServletRequest request, @PathVariable 参数类型 参数1名称, @PathVariable 参数类型 参数2名称,...) {
      //在此处执行程序逻辑
    }

注释:上面的 … 是指更多的参数。

如有不对,敬请指出。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值