base64字符串转化成图片

package com.dhht.wechat.util;

import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;

import java.io.*;

/** * @Author: sh * @Description: ImgUtil * @Date: 9:14 2019/7/1 */public class ImgUtil {

    /**     * 图片转化成base64字符串     *     * @param imgPath     * @return     */    public static String GetImageStr(String imgPath) {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理        String imgFile = imgPath;// 待处理的图片        InputStream in = null;        byte[] data = null;        String encode = null; // 返回Base64编码过的字节数组字符串        // 对字节数组Base64编码        BASE64Encoder encoder = new BASE64Encoder();        try {            // 读取图片字节数组            in = new FileInputStream(imgFile);            data = new byte[in.available()];            in.read(data);            encode = encoder.encode(data);        } catch (IOException e) {            e.printStackTrace();        } finally {            try {                in.close();            } catch (IOException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }        return encode;    }

    /**     * base64字符串转化成图片     *     * @param imgData     图片编码     * @param imgFilePath 存放到本地路径     * @return     * @throws IOException     */    @SuppressWarnings("finally")    public static boolean GenerateImage(String imgData, String imgFilePath) throws IOException { // 对字节数组字符串进行Base64解码并生成图片        if (imgData == null) // 图像数据为空            return false;        BASE64Decoder decoder = new BASE64Decoder();        OutputStream out = null;        try {            out = new FileOutputStream(imgFilePath);            // Base64解码            byte[] b = decoder.decodeBuffer(imgData);            for (int i = 0; i < b.length; ++i) {                if (b[i] < 0) {// 调整异常数据                    b[i] += 256;                }            }            out.write(b);        } catch (FileNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } finally {            out.flush();            out.close();            return true;        }    }}

原文地址:https://www.cnblogs.com/sung1024/p/11391965.html

时间: 2024-10-18 12:52:53

base64字符串转化成图片的相关文章

C# Base64字符串转换成图片及图片转换为Base64

最近有朋友经常会问我一些问题,例如,如何把一个字符串转换成base64字符串,如何把一个二进制文件转换成Base64文件,以及如何转换回原有的文件,在此我把方法写一下 字符串与Base64相互转换 编码: byte[] bytes = Encoding.Default.GetBytes("要转换的字符"); string str = Convert.ToBase64String(bytes); 解 码: byte[] outputb = Convert.FromBase64String

java 后台将base64字符串保存为图片

直接上代码: import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class Base64Test { public static void main(String[] args

C# 字节流通过Base64编码转换成图片代码

C# 字节流通过Base64编码转换成图片代码 // 需载入以下的命名空间 // using System.IO; // using System.Drawing; // using System.Runtime.Serialization.Formatters.Binary; protected void Page_Load(object sender, EventArgs e) { byte[] buffer = ReadFile(Server.MapPath(@"\sex.txt"

laravel 将数组转化成字符串 再把字符串转化成数组

这是在给阮少翔改代码的时候用的方法, 开始的数据用explored转化成数组不是想要的结果, 我就自己写了一个方法把有用的信息提取出来拼接成一个字符串, 再用explored将字符串转化成数组.   方法有点笨, 但是最后是解决了阮少翔的问题 $re1 = DB::table('admin_user') ->join('admin_role_user','admin_user.id','=','admin_role_user.user_id') ->select('admin_role_use

JS中如何将字符串转化成日期 日期格式化方法

<!--     /**     * 对Date的扩展,将 Date 转化为指定格式的String     * 月(M).日(d).12小时(h).24小时(H).分(m).秒(s).周(E).季度(q) 可以用 1-2 个占位符     * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)     * eg:     * (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2006-0

170319 剑指offer 1.把一个字符串转化成整数(简单问题的全面性考虑)

工作的时间越长,越感觉基础的重要性,当我们对程序的框架结构越来越熟悉的时候,越会注意这一点,在工作当中,功能的实现是重要的,但是代码的健壮性,重用性,与扩展性确往往更为重要,在学习新技术的同时,我们或许应该抽出一点时间,去思考代码可能出现的问题. 关于剑指offer的这本书,可能所有刚毕业找工作的人,或者准备找工作的人都曾经看过,但是当时我们面对一些东西的时候心情过于浮躁,往往忽视了简单的却又十分重要的环节,(ps:也可能只有我是这样) 面试中一道简单的问题(把一个字符串转化成整数) 可能接触c

Java读取文件,将字符串转化成日期类型,将日期类型进行加减

最近总用Java读取文件,发现了一种我个人觉得比较好的方法,现在分享给大家 public static void main(String[] args) throws Exception { FileInputStream f = new FileInputStream("文件路径"); InputStreamReader fileInputStream = new InputStreamReader(f); BufferedReader br = new BufferedReader

iOS 文字转化成图片

//文字转化成图片 -(UIImage *)imageFromText:(NSArray*)arrContent withFont:(CGFloat)fontSize withTextColor:(UIColor *)textColor withBgImage:(UIImage *)bgImage withBgColor:(UIColor *)bgColor { // set the font type and size UIFont *font = [UIFont fontWithName:@

把一个字符串转化成数字表示

题目大意: 把一个字符串转化成数字表示.AAAA-->4A 解题思路: 直接统计. 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 char s[100005]; 5 6 void solve() 7 { 8 int i = 0; 9 int cnt = 1; 10 char tmp = s[0]; 11 for (i = 1; s[i]; ++i) 12 { 13 if (s[i] == tmp) 14 { 15 ++cnt;