图片到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)
现在乱核纳氏衫的数据库开发中:图片的存放方式一般有CLOB:存放base64string
BLOB:存放byte[]
一般推荐使用byte[]。因为图片可以直接转换为byte[]存放到数据库中
若使用base64string 还需要从哗没byte[]转换成base64string 。更浪费性能。
java将byte数组转换成图片,可以File和IO *** 作正仔来完成举键汪,实例如下://byte数组到图片亮闹到硬盘上 public void byte2image(byte[] data,String path){if(data.length<3||path.equals("")) return//判断输入的byte是否为空try{FileImageOutputStream imageOutput = new FileImageOutputStream(new File(path))//打开输入流imageOutput.write(data, 0, data.length)//将byte写入硬盘imageOutput.close() System.out.println("Make Picture success,Please find image in " + path) } catch(Exception ex) { System.out.println("Exception: " + ex) ex.printStackTrace() } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)