ASP.NET把图片存入数据库和使用文件流读取显示
网上关于ASP.NET上传图片到数据库的资料非常多,常用的如下:
1.将图片转换为二进制数组(byte[]);
2.把转换后的二进制数组(byte[])作为参数传递给要执行的Command;
3.执行Command;
转化2进制数组的方法
Code
1、byte[] fileData = this.FileUpload1.FileBytes;
2、
/// <summary>
/// 根据路径将文件转换为2进制数组
/// </summary>
/// <param name="strpath">路径</param>
/// <returns>返回数组</returns>
public byte[] returnbyte(string strpath)
{
// 以二进制方式读文件
FileStream fsMyfile = new FileStream(strpath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
// 创建一个二进制数据流读入器,和打开的文件关联
BinaryReader brMyfile = new BinaryReader(fsMyfile);
// 把文件指针重新定位到文件的开始
brMyfile.BaseStream.Seek(0, SeekOrigin.Begin);
byte[] bytes = brMyfile.ReadBytes(Convert.ToInt32(fsMyfile.Length.ToString()));
// 关闭以上new的各个对象
brMyfile.Close();
return bytes;
}
3、
pic.img
public static byte[] Getbyte(Image img)
{
MemoryStream stream = new MemoryStream();
img.Save(stream, ImageFormat.Jpeg);
byte[] mydata = new byte[stream.Length];
mydata = stream.ToArray();
stream.Close();
return mydata;
}