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>

猜你喜欢

转载自www.cnblogs.com/Mblood/p/9689862.html