java接收图片的两种方法

Posted 小飞猪咯咯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java接收图片的两种方法相关的知识,希望对你有一定的参考价值。

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接收图片的两种方法的主要内容,如果未能解决你的问题,请参考以下文章

Java通过图片url地址获取图片base64位字符串的两种方式

php获取图片真实后缀的两种方法

如何去掉matlab图片空白边缘的两种方法

php如何防止图片盗用/盗链的两种方法

关于H5页面中生成图片的两种方式!

python 读取并显示图片的两种方法