SpringBoot2.x文件上传实战

Posted M_Blood

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot2.x文件上传实战相关的知识,希望对你有一定的参考价值。

设置上传的文件大小:

@Configuration
public class fileConfigure {


    @Bean
    public MultipartConfigElement multipartConfigElement(){
        MultipartConfigFactory factory=new MultipartConfigFactory();
        //单个文件的大小
        factory.setMaxFileSize("200KB");
        //设置总上传数据的大小
        factory.setMaxRequestSize("1024000KB");
        return factory.createMultipartConfig();
    }


}

Controller:

@RestController
//@PropertySource({"classpath:application.properties"})
public class FileController {


//    @Value("${web.upload-path}")
//    private String filePath;

//    @Autowired
//    private ServiceSetting serviceSetting;

    private String path="C:\Users\54701\Desktop\images";

    @RequestMapping(value = "uploadfile")
    public JsonData upload(@RequestParam("head_img") MultipartFile file, HttpServletRequest request){

        String name=request.getParameter("name");
        System.out.println("用户名:"+name);

        //获取文件名
        String fileName=file.getOriginalFilename();
        System.out.println("上传的文件名为:"+fileName);

        //获取文件的后缀名
        String suffixName=fileName.substring(fileName.lastIndexOf("."));
        System.out.println("上传的后缀名为:"+suffixName);

        //文件上传后的路径
        fileName= UUID.randomUUID()+suffixName;
        //File dest=new File(serviceSetting.getName()+fileName);
        File dest=new File(path+fileName);

        try {
            file.transferTo(dest);
            return new JsonData(0,fileName,"上传成功");
        }catch (IllegalStateException e){
            e.printStackTrace();
        }catch (IOException e){
            e.printStackTrace();
        }
        return new JsonData(-1,"fail","上传失败");
    }
}

html页面:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" http-equiv="content-type" content="text/html">
    <title>图片上传</title>
</head>
<body>
<form enctype="multipart/form-data" method="post" action="/uploadfile">
    文件:<input type="file" name="head_img"/>
    姓名:<input type="text" name="name"/>
    <input type="submit" value="上传"/>
</form>
</body>
</html>

 

以上是关于SpringBoot2.x文件上传实战的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot2.x文件上传出错 maximum permitted size of 1048576 bytes

小D课堂 - 零基础入门SpringBoot2.X到实战_汇总

SpringBoot2.x + Minio 文件服务器 简单使用

2019刘老师教你用springboot2.x开发整合微信支付的线上教育平台带源码送springboot2.x零基础入门到高级实战教程

案例实战爬虫URL去重实战-SpringBoot2.x+Guava布隆过滤器

小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_1SpringBoot2.x课程介绍和高手系列知识点