asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

Asp.net把图片存入数据库和读取图片的方法


发布日期:2021年03月17日
 
Asp.net把图片存入数据库和读取图片的方法

网上关于ASPNET上传图片到数据库的资料非常多常用的如下:
存储图片类型数据有以下几种方式
将图片转换为二进制数组(byte[])

复制代码 代码如下:
byte[] fileData = thisFileUploadFileBytes;


根据路径将文件转换为进制数组

复制代码 代码如下:
代码
public byte[] returnbyte(string strpath)
{
// 以二进制方式读文件
FileStream fsMyfile = new FileStream(strpath FileModeOpenOrCreate FileAccessReadWrite);
// 创建一个二进制数据流读入器和打开的文件关联
BinaryReader brMyfile = new BinaryReader(fsMyfile);
// 把文件指针重新定位到文件的开始
brMyfileBaseStreamSeek( SeekOriginBegin);
byte[] bytes = brMyfileReadBytes(ConvertToInt(fsMyfileLengthToString()));
// 关闭以上new的各个对象
brMyfileClose();
return bytes;
}


img 类型得到二进制数组

复制代码 代码如下:
public static byte[] Getbyte(Image img)
{
MemoryStream stream = new MemoryStream();
imgSave(stream ImageFormatJpeg);
byte[] mydata = new byte[streamLength];
mydata = streamToArray();
streamClose();
return mydata;
}


读取image类型的数据并显示在网页上的方式如下
直接返回image 类型

复制代码 代码如下:
private SystemDrawingImage getImageDataFromOracle()
{
string sql = "select IMGDATA from t_img where imgID=";
string strconn = SystemConfigurationConfigurationManagerConnectionStrings["ConnectionStringForOracle"]ToString();
OracleConnection oraConn = new OracleConnection(strconn);
OracleCommand oraComm = new OracleCommand(sql oraConn);
oraConnOpen();
byte[] fileData = (byte[])oraCommExecuteScalar();
oraConnClose();
SystemIOMemoryStream ms = new SystemIOMemoryStream(fileData);
SystemDrawingImage img = SystemDrawingImageFromStream(ms);
return img;
}


利用页面输入来显示图片
页面ImageShowaspx (Page_Load方法)

复制代码 代码如下:
protected void Page_Load(object sender EventArgs e)
{
byte[] b_logoImg = (byte[])dt_channelImgRows[]["LogoImage"]; //得到byte[] 数组这里只是举个例子
if (b_logoImgLength > )
{
SystemDrawingImage logoImg;
MemoryStream ms = new MemoryStream(b_logoImg);
ResponseClear();
ResponseContentType = "image/gif";
ResponseOutputStreamWrite(b_logoImg b_logoImgLength);
ResponseEnd();
}
}


图片路径写成为<img src = "ImageShowaspx" />

               

上一篇:ASP.NET 窗体间传值的方法

下一篇:asp.net自动生成姓名拼音的代码