spring boot 将base64字符串还原成图片并保存到本地

    科技2022-07-12  141

    对base64编码字符串解码,还原成图片并保存到本地

    写在工具类中的方法:

    // 对字节数组字符串进行Base64解码并生成图片 //imgFilePath 待保存的本地路径 public static boolean GenerateImage(String base64Str, String imgFilePath) { if (base64Str == null) // 图像数据为空 return false; BASE64Decoder decoder = new BASE64Decoder(); try { // Base64解码 byte[] bytes = decoder.decodeBuffer(base64Str); for (int i = 0; i < bytes.length; ++i) { if (bytes[i] < 0) {// 调整异常数据 bytes[i] += 256; } } // 生成jpeg图片 OutputStream out = new FileOutputStream(imgFilePath); out.write(bytes); out.flush(); out.close(); //==== return true; } catch (Exception e) { return false; } }

    controller层测试调用

    @PostMapping("/Base64Toimg2") public Boolean Base64Toimg2(@RequestBody String base64str,String imgName) throws IOException { Boolean bl = Base64ToImg.GenerateImage(base64str, "d:\\picTmp\\"+ imgName + ".jpg"); return bl; }

    注意:去掉前缀! base64字符串的参数需要去掉data:image/jpg;base64,前缀,否则生成的图片无法识别。

    效果:

    swagger进行测试 在本地查看刚刚的路径是否生成了图片

    Processed: 0.009, SQL: 8