图片转换成png格式上传

发布时间:2024年01月16日

参数为图片地址(在浏览器可以直接访问的)

    public static String getToPngFile(HttpServletRequest request, String url) throws IOException {
        String imgTmpPath = null; // 临时图片文件路径
        InputStream inputStream = null;
        String imgsUrl = null; // 上传后的图片URL
        try {
            // 获取临时目录路径
            String tmpdir = request.getSession().getServletContext().getRealPath("/") + "files/tmp/";
            if (!FileUtil.exist(new File(tmpdir))){
                FileUtil.mkdir(tmpdir);
            }
            //根据图片地址获取这个图片的输入流
            inputStream = new URL(url).openStream();
            // 读取输入流中的图片文件
            BufferedImage inputImage = ImageIO.read(inputStream);
            // 生成临时图片文件路径
            imgTmpPath = tmpdir + IdUtil.objectId() + ".png";
            // 创建临时图片文件
            File outputFile = new File(imgTmpPath);
            // 将图片文件转换为PNG格式并保存到临时文件中
            ImageIO.write(inputImage, "png", outputFile);
            // 获取临时文件的输入流
            inputStream = FileUtil.getInputStream(imgTmpPath);
            imgsUrl = OSSUtil.uploadImageToOSS(ImgUtils.getFileFormat(imgTmpPath), inputStream, AliyunOssConst.folder_voucher_img);
            // 删除临时图片文件
            FileUtil.del(imgTmpPath);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (inputStream != null) {
                inputStream.close();
            }
        }
        return imgsUrl; // 返回上传后的图片URL
    }

文章来源:https://blog.csdn.net/m0_60873265/article/details/135625562
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。