如何将base64加密的字符串转换成image显示在网页上

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将base64加密的字符串转换成image显示在网页上相关的知识,希望对你有一定的参考价值。

参考技术A import sun.misc.BASE64Encoder;
public static boolean GenerateImage(String imgStr, String imgFilePath)
if (imgStr == null) // 图像数据为空
return false;
BASE64Decoder decoder = new BASE64Decoder();
try
// Base64解码
byte[] bytes = decoder.decodeBuffer(imgStr);
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;

本回答被提问者和网友采纳

base64的byte[]如何转换成图片

我这里有一个base64的byte,想转换成图片,用fileoutputstream直接写入,但是写入的数据之后并不能预览,我这个文件的头部要不要加上contentType,怎么加呢?

在C#中
图片到byte[]再到base64string的转换:
Bitmap bmp = new Bitmap(filepath);
MemoryStream ms = new MemoryStream();
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
byte[] arr = new byte[ms.Length];
ms.Position = 0;
ms.Read(arr, 0, (int)ms.Length);
ms.Close();
string pic = Convert.ToBase64String(arr);
base64string到byte[]再到图片的转换:
byte[] imageBytes = Convert.FromBase64String(pic);
//读入MemoryStream对象
MemoryStream memoryStream = new MemoryStream(imageBytes, 0, imageBytes.Length);
memoryStream.Write(imageBytes, 0, imageBytes.Length);
//转成图片
Image image = Image.FromStream(memoryStream);
参考技术A 先得到byte[]、再转成ByteArrayInputStream

再用ImageIO写内存图片
static BufferedImage
read(InputStream input) Returns a BufferedImage as the result of decoding
a supplied InputStream with an ImageReader
chosen automatically from among those currently registered.

以上是关于如何将base64加密的字符串转换成image显示在网页上的主要内容,如果未能解决你的问题,请参考以下文章

base64的byte[]如何转换成图片

c语言如何实现16进制字符串转换为 base64

Base64加密与解密

如何将 16 位值的数组转换为 base64?

BASE64加密原理

如何转换数据:image / webp,expo(或php)中的base64