SpringBoot实现批量文件上传 | 带你读《SpringBoot实战教程》之二十九

上一篇:SpringBoot实现文件上传 | 带你读《SpringBoot实战教程》之二十八
下一篇:什么是Neo4J? | 带你读《SpringBoot实战教程》之三十

本文来自于千锋教育在阿里云开发者社区学习中心上线课程《SpringBoot实战教程》,主讲人杨红艳,点击查看视频内容

SpringBoot实现批量文件上传

新建上传页面:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"></meta>
<title>文件上传</title>
</head>
<body>
    <h2>批量文件上传示例</h2>
    <hr/>
    <form method = "POST" enctype="multipart/form-data" action="/upload/batch">
    <p>
        文件1:<input type="file" name="file"/>
    </p>
        <p>
        文件2:<input type="file" name="file"/>
    </p>
        <p>
        文件3:<input type="file" name="file"/>
    </p>
    <p>
        <input type="submit" value="上传"/>
    </p>
    </form>
</body>
</html>

添加代码:
UploadController:

    @RequestMapping("/indexs")
    public String toUpload(){
        return "uploads";
    }

    @RequestMapping(value="/upload/batch",method=RequestMethod.POST)
    @ResponseBody    
    public String uploadFiles(MultipartFile[] file, HttpServletRequest request) {
 
        try{
             //创建文件在服务器端的存放路径
            String dir=request.getServletContext().getRealPath("/upload");
            File fileDir = new File(dir);
            if(!fileDir.exists())
                fileDir.mkdirs();
            //生成文件在服务器端存放的名字
            for(int i = 0;i<file.length;i++) {
                String fileSuffix=file[i].getOriginalFilename().substring(file[i].getOriginalFilename().lastIndexOf("."));
                String fileName=UUID.randomUUID().toString()+fileSuffix;
                File files = new File(fileDir+"/"+fileName);
                //上传
                file[i].transferTO(files);
            }
        }catch(Exception e) {
            e.printStackTrace();
            return "上传失败";
        }

        return "上传成功";
    } 

执行结果:
SpringBoot实现批量文件上传 | 带你读《SpringBoot实战教程》之二十九
选择文件上传:
SpringBoot实现批量文件上传 | 带你读《SpringBoot实战教程》之二十九
SpringBoot实现批量文件上传 | 带你读《SpringBoot实战教程》之二十九

配套视频

上一篇:物联网协议、联盟、以及解决方案正走向融合


下一篇:Dubbo监控中心的介绍与简易监控中心的安装( 补充文档 )