layui多文件上传springMVC后端处理

文章目录

    • 前端jsp
    • springMVC后端处理多文件上传

效果预览:
layui多文件上传springMVC后端处理_第1张图片

使用框架:SSM

前端jsp

使用layui的多文件上传组件,官网地址:https://www.layui.com/demo/upload.html 。在标签里引入layui的css以及js文件,更改js代码的请求上传接口即可。代码如下:

    <%@ page contentType="text/html;charset=utf-8" %>
    
    
        文件寄存
        
        
        
        
    
    
    <%@include file="navigation.jsp"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    
文件名 大小 状态 操作

springMVC后端处理多文件上传

其实后端只需要编写一个Controller来处理单文件上传即可。我一开始以为layui的前端代码逻辑是只发送一个上传请求,然后后端取出文件列表,再一个一个进行数据库操作。可事实上,layui前端会对每一个文件进行一次上传请求,即将多个文件进行逐一单文件上传,本质上还是单文件上传请求,所以后端只需要处理单文件上传即可。代码如下:

    @ResponseBody
    @RequestMapping("/upload")
    public JSONObject upload(MultipartFile file){
        JSONObject jsonObject = new JSONObject();
    
        DepositFile deposit = new DepositFile();
        try {
            //复制文件到/xxx/xxx/文件夹中,该格式路径为linux路径,在window中,则会在tomcat服务器所在盘根目录进行新建,本地调试时,也可使用绝对路径,如D:\\...
            FileUtils.copyInputStreamToFile(file.getInputStream(), new File("/xxx/xxx/",
                                                                       file.getOriginalFilename()));
        } catch (IOException e) {
            e.printStackTrace();
        }
    
        //...业务层处理
    
        jsonObject.put("code", 0);	//因为layui原生代码中,只有返回该json字符串才会进行成功回调
        return jsonObject;
    }

此外,记住要在spring-servlet.xml(即SpringMVC配置文件,不一定是这个名字)中配置一个bean,如下:

    <bean id="multipartResolver"
              class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <property name="maxUploadSize" value="209715200" />
            <property name="defaultEncoding" value="UTF-8" />
            <property name="resolveLazily" value="true" />
        </bean>

你可能感兴趣的:(文件上传,springMVC,layui)