码迷,mamicode.com
首页 > 编程语言 > 详细

java接收图片的两种方法

时间:2020-03-13 21:03:20      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:cto   rto   dom   length   路径   pictures   create   return   buffer   

1、使用http接收IO流

2、使用接收formdata表单的方式

controller:

    @PostMapping("savePicByIo")
    public String savePicByIo(HttpServletRequest request) throws Exception{
        System.out.println("图片上传开始");
        String fileName = savePictureService.savePicByIo(request);
        return fileName;
    }

    @PostMapping("savePicByFormData")
    public String savePicByFormData(@RequestParam("file")MultipartFile file) throws IOException {
        String fileName = savePictureService.savePicByFormData(file);
        return fileName;
    }

service:

    public String savePicByIo(HttpServletRequest request) throws IOException {
        // 图片存储路径
        String path = "C:\\image\\factory";
        // 判断是否有路径
        if (!new File(path).exists()) {
            new File(path).mkdirs();
        }
        ServletInputStream inputStream = request.getInputStream();
        String fileName = UUID.randomUUID().toString().replace("-","") + ".jpg";
        File tempFile = new File(path,fileName);
        if (!tempFile.exists()) {
            OutputStream os = new FileOutputStream(tempFile);
            BufferedOutputStream bos = new BufferedOutputStream(os);
            byte[] buf = new byte[1024];
            int length;
            length = inputStream.read(buf,0,buf.length);
            while (length != -1) {
                bos.write(buf, 0 , length);
                length = inputStream.read(buf);
            }
            bos.close();
            os.close();
            inputStream.close();
        }
        return fileName;
    }


    public String savePicByFormData(MultipartFile file) throws IOException {

        // 图片存储路径
        String path = "C:\\image\\factory";
        // 判断是否有路径
        if (!new File(path).exists()) {
            new File(path).mkdirs();
        }
        String fileName = UUID.randomUUID().toString().replace("-","") + ".jpg";
        File tempFile = new File(path,fileName);
        if (!tempFile.exists()) {
            tempFile.createNewFile();
        }
        file.transferTo(tempFile);
        return fileName;
    }

 

java接收图片的两种方法

标签:cto   rto   dom   length   路径   pictures   create   return   buffer   

原文地址:https://www.cnblogs.com/flypig666/p/12488556.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!