文件上传后端代码

文件上传

文件上传可以使用Part或者MultipartFile类实现,Part是Servlet中的类,而MultipartFile是spring框架中的类

1.使用Part上传文件

	@PostMapping("/uploadFileMultipart")
    public String uploadFileMultipart(MultipartFile file) throws IOException {
        file.transferTo(new File("D:\\home\\image\\mulpartImage.jpg"));
        return null;
    }

    @PostMapping("/uploadPart")
    public String uploadPart(HttpServletRequest request) throws IOException, ServletException {
        Part file = request.getPart("file");
        file.write("D:\\home\\image\\part.jpg");
        return  null;
    }

    

2.使用Multipart.transferTo或者Multipart的输入流上传文件

@PostMapping(value = "/uploadFile")
    public String upLoadFile(HttpServletRequest request) throws IOException, ServletException {
        MultipartFile multipartFile = ((MultipartHttpServletRequest) request).getFile("file");
        //使用输入流读写文件
        FileInputStream input = null;
        FileOutputStream out = null;
        try {
            input = (FileInputStream) multipartFile.getInputStream();
            out = new FileOutputStream("D:\\home\\image\\mulInput.jpg");
            byte[] data = new byte[8192];
            int len = 0;
            while ((len = input.read(data))!=-1){
                out.write(data,0,len);
            }
        }catch (IOException e){
            e.printStackTrace();
        }finally {
            input.close();
            out.close();
        }
        System.out.println(multipartFile.getOriginalFilename());
        //使用transferTo方法上传文件
        multipartFile.transferTo(new File("D:\\home\\image\\mulTransferTo.jpg"));
        return null;
    }

3.直接上传base64编码字符串

4.在使用实体类中设置MultipartFile属性的方式

这种方式需要去除@RequestBody注解

	@PostMapping("/uploadByForm")
    public void uploadFile( FileUploadForm form) throws IOException {
        MultipartFile file = form.getFile();
        file.transferTo(new File("D:\\form.jpg"));
    }

5.springboot对上传文件大小做了限制,可以通过配置解除

    #设置文件上传大小限制
  servlet:
    multipart:
      max-file-size: 100MB #单个文件最大限制
      max-request-size: 200MB #总文件最大限制
posted @ 2021-03-21 22:14  xzzzzzzz  阅读(117)  评论(0)    收藏  举报