Spring mvc多文件上传和传参 前端+后台代码案例 Java

使用的是ajaxFileUpload这个方法上传的,用的话只导入jquery包是不行的,还要导入ajaxfileupload.js,

上传多个文件 在input标签要设置  multiple="multiple" 这个属性

传递文件:是用fileElementId这个属性,值为你所上传的input标签name,id值!

传递参数:就和平常使用ajax一样传就行了。例如: data:{fileNames:filePathArray}

获取文件名:获取每个文件名代码如下图,你也可以通过循环取出,我是直接通过下标取出!

$("#uploadfile")[0] 里面的uploadfile就是你所上传的input标签id值。

files[0]表示第一个文件名 files[1]表示第二个文件名!


前端代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<form id="upload-file-form">
    <input id="uploadfile" type="file" name="uploadfile"  multiple="multiple"/>
    <a id='btnExcel' οnclick="uploadFile();" href='javascript:;'>文件上传</a>
</form>
</body>
<script src="./lib/JQuery-1.9.1/jquery-1.9.1.js"></script>
<script src="./lib/ajaxfileupload.js"></script>
<content tag="page-js">
    <script type="text/javascript">

        function uploadFile() {
            var filePathArray = [];
            filePathArray.push($("#uploadfile").val());
            $.ajaxFileUpload({
                url:"http://localhost:8080/MyHR/myhrChat/saveFile.do",
                type: "POST",
                secureuri: false,
                fileElementId: "uploadfile",//对应上传标签的id,name名称
          dataType: 'json',
                data:{fileNames:filePathArray},//传递参数
          processData: false,
                contentType: false,
                cache: false,
                success: function (data) {
                    $("#uploadfile").val('');
                },
                error: function () {
                    alert("上传失败!");
                }
            });
        }
    </script>
</content>
</body>
</html>

后台代码:

@RequestMapping(value = "/saveFile")
public void saveFile(@RequestParam("uploadfile") MultipartFile[] uploadfile,String[] fileNames){
   try {
      hrFileService.uploadFile(uploadfile,"","");
   } catch (Exception e) {
      e.printStackTrace();
   }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值