问题描述:
我用的是Access数据库,语言是C#!
问题解答:
byte[] buffer;
// 1)磁盘文件中加载文件
System.IO.FileStream fs = new System.IO.FileStream("文件名", System.IO.FileMode.Open);
buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
// 2)从表单读取上传的文件 File1 为文件上传的 HTML 控件
System.IO.Stream stream = this.File1.PostedFile.InputStream;
buffer = new byte[stream.Length];
stream.Read(buffer, 0, buffer.Length);
// 请任选以上一种获取图片数据
// 写入数据库
System.Data.OleDb.OleDbParameter parameter = new System.Data.OleDb.OleDbParameter("@Image", System.Data.OleDb.OleDbType.Binary);
parameter.Value = buffer;
string insertCommand = "INSERT [表](字段) VALUES(@Image);";
System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(insertCommand, conn);
cmd.Parameters.Add(parameter);
cmd.ExecuteNonQuery();
// 读取图片的代码,我就不写,忙没时间。其实很简单就是查询一下而已。
// 读取图片时,从数据库中把二进制数据赋值到 byte[] 数组中
this.Response.ContentType = "image/JPEG"; // 设置 MIME 类型
this.Response.BinaryWrite(buffer); // 输出二进制数据