//输出图片 private void button1_Click(object sender, EventArgs e) { string path = @"E:\123.jpg"; //实例化一个文件流对象 将指定图片 存放进去 FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read); //通过二进制读取对象 接收该 文件流对象 BinaryReader br = new BinaryReader(fs); //br读取 指定文件流对象中所有字节数 用字节数组 byte[] myImages = br.ReadBytes(Convert.ToInt32(fs.Length)); Stream s = new MemoryStream(myImages); this.pictureBox1.Image = Image.FromStream(s); } //读取图片 private void button2_Click(object sender, EventArgs e) { string strCon = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrator\桌面\顾兰萍.mdb"; using (OleDbConnection con = new OleDbConnection(strCon)) { con.Open(); OleDbCommand com = new OleDbCommand("select tf_image from T_image",con); byte[] FileData = (byte[])com.ExecuteScalar(); MemoryStream ms = new MemoryStream(FileData); Image img = Image.FromStream(ms); img.Save(@"E:\123.jpg"); } }我有做这样的尝试,但读取的时候说ms是无效参数...实在不知道怎么办了.
经过测试结果正确:string str = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\data.mdb"; OleDbConnection conn = new OleDbConnection(str); OleDbCommand comm = new OleDbCommand("select top 1 img from test where img is not null", conn); conn.Open(); object o = comm.ExecuteScalar(); if (o != null) { byte[] buff = (byte[])o; MemoryStream ms = new MemoryStream(buff); pictureBox1.Image = Image.FromStream(ms); } conn.Close();
//输出图片
private void button1_Click(object sender, EventArgs e)
{
string path = @"E:\123.jpg";
//实例化一个文件流对象 将指定图片 存放进去
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
//通过二进制读取对象 接收该 文件流对象
BinaryReader br = new BinaryReader(fs);
//br读取 指定文件流对象中所有字节数 用字节数组
byte[] myImages = br.ReadBytes(Convert.ToInt32(fs.Length));
Stream s = new MemoryStream(myImages);
this.pictureBox1.Image = Image.FromStream(s);
}
//读取图片
private void button2_Click(object sender, EventArgs e)
{
string strCon = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrator\桌面\顾兰萍.mdb";
using (OleDbConnection con = new OleDbConnection(strCon))
{
con.Open();
OleDbCommand com = new OleDbCommand("select tf_image from T_image",con);
byte[] FileData = (byte[])com.ExecuteScalar();
MemoryStream ms = new MemoryStream(FileData);
Image img = Image.FromStream(ms);
img.Save(@"E:\123.jpg");
}
}我有做这样的尝试,但读取的时候说ms是无效参数...实在不知道怎么办了.
OleDbConnection conn = new OleDbConnection(str);
OleDbCommand comm = new OleDbCommand("select top 1 img from test where img is not null", conn);
conn.Open();
object o = comm.ExecuteScalar();
if (o != null)
{
byte[] buff = (byte[])o;
MemoryStream ms = new MemoryStream(buff);
pictureBox1.Image = Image.FromStream(ms);
}
conn.Close();