如何网数据库里插入图片,又该如何读取图片呢?

发布时间:2024-05-15 03:55 发布:上海旅游网

问题描述:

我用的是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); // 输出二进制数据

热点新闻