参数为图片地址(在浏览器可以直接访问的)
public static String getToPngFile(HttpServletRequest request, String url) throws IOException {String imgTmpPath = null; // 临时图片文件路径InputStream inputStream = null;String imgsUrl = null; // 上传后的图片URLtry {// 获取临时目录路径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}