怎么将图片转换成二进制,存入数据库,然后怎么读出来并显示

怎么将图片转换成二进制,存入数据库,然后怎么读出来并显示,第1张

1将Image图像文件存入到数据

我们知道数据库里的Image类型的数据是"二进制数据",因此必须将图像文件转换成字节数组才能存入数据库中

要这里有关数据的 *** 作略写,我将一些代码段写成方法,方便直接调用

//根据文件名(完全路径)

public byte[] SetImageToByteArray(string fileName)

{

FileStream fs = new FileStream(fileName, FileModeOpen);

int streamLength = (int)fsLength;

byte[] image = new byte[streamLength];

fsRead(image, 0, streamLength);

fsClose();

return image;

}

//另外,在ASPNET中通过FileUpload控件得到的图像文件可以通过以下方法

public byte[] SetImageToByteArray(FileUpload FileUpload1)

{

Stream stream = FileUpload1PostedFileInputStream;

byte[] photo = new byte[FileUpload1PostedFileContentLength];

streamRead(photo, 0, FileUpload1PostedFileContentLength);

streamClose();

return photo;

}

2从SQL Server数据库读取Image类型的数据,并转换成bytes[]或Image图像文件

//要使用SqlDataReader要加载using SystemDataSqlClient命名空间

//将数据库中的Image类型转换成byte[]

public byte[] SetImage(SqlDataReader reader)

{

return (byte[])reader["Image"];//Image为数据库中存放Image类型字段

}

//将byte[]转换成Image图像类型

//加载以下命名空间using SystemDrawing;/using SystemIO;

using SystemDataSqlClient;/

public Image SetByteToImage(byte[] mybyte)

{

Image image;

MemoryStream mymemorystream = new MemoryStream(mybyte,0, mybyteLength);

image = ImageFromStream(mymemorystream);

return image;

}

//获取数据库里的代码(省略)

object ob = dataTableRows[0][""];

byte[] buff = ob as byte[];

if (ob == null)

{

//报错

return;

}

MemoryStream ms = new MemoryStream(buff, 0, buffLength, true);

Bitmap bt = BitmapFromStream(ms) as Bitmap;

if (bt == null)

{

//数据格式错误,请检查是否是

return;

}

msFlush();

msClose();

//把bt显示出来,比如 pictureBoxImage = bt;

你是说的是什么意思?

如果是自己整的byte[]数组的话,使用base64转换成字符串发送,然后接收到字符串后再用base64转换成byte数组就可以了,如果要使用URL传递的话,你再将字符串使用urlencoder转换成utf-8编码传送,接收到后在使用urldecoder转换成字符串再使用base64还原成byte数组就好了

如果是存在数据库的字节数据,你可以使用result的getBinaryStream("字段名")来获取inpustream流,然后使用IO *** 作将流存到字节数组中,最后去使用就是了!

以上就是关于怎么将图片转换成二进制,存入数据库,然后怎么读出来并显示全部的内容,包括:怎么将图片转换成二进制,存入数据库,然后怎么读出来并显示、图片已经以二进制流存储在数据库了,怎样把它从数据库获取显示在界面上啊、jsp 怎么获取服务器传回的字节型数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9852933.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存