在QQ群里有人问,怎样把图片保存入数据库。那些人也真是的,直接google或baidu 一下可以找到一大堆。我自己也搜了一下,网上那些人写的真的不错。网上用的是存储过程写的,看起来可能不那些好理解,所以自己就写了一个比较简单的。
主要代码:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient ;
using System.IO;
using System.Drawing.Imaging;
using System.Drawing;
public partial class _Default : System.Web.UI.Page
{
SqlConnection conn;
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)//判断是否存在文件
{
bool NameTrue = false;
//判断图片的格式
string[] lastname = new string[] { ".gif", ".bmp", ".jpg", ".png" };
//获取文件扩展名并传成小写
string FileLastName = System.IO.Path.GetExtension(FileUpload1.FileName.ToLower());
for (int i = 0; i < lastname.Length - 1; ++i)
{
if (FileLastName == lastname[i])
{
NameTrue = true;
break;
}
}
if (NameTrue)
{
byte[] buffe = FileUpload1.FileBytes;//直接把图片用字节数组读出
MemoryStream ms = new MemoryStream(buffe);//转成内存流,但然还可以用stream来做
Bitmap bm = new Bitmap(ms);//转成图片
try
{
//这里是保存入数据库
//主要保存图片那个字段设成"image"图片类型
conn = new SqlConnection("server=CHENG/SQLEXPRESS;database=ImageTest;uid=sa;pwd=jacky;");
SqlCommand cmd = new SqlCommand("insert into test values('" + bm + "')", conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
Label1.Text = "上传成功";
}
catch(Exception ex)
{
Label1.Text = ex.ToString();
}
}
}
}
}
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient ;
using System.IO;
using System.Drawing.Imaging;
using System.Drawing;
public partial class _Default : System.Web.UI.Page
{
SqlConnection conn;
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)//判断是否存在文件
{
bool NameTrue = false;
//判断图片的格式
string[] lastname = new string[] { ".gif", ".bmp", ".jpg", ".png" };
//获取文件扩展名并传成小写
string FileLastName = System.IO.Path.GetExtension(FileUpload1.FileName.ToLower());
for (int i = 0; i < lastname.Length - 1; ++i)
{
if (FileLastName == lastname[i])
{
NameTrue = true;
break;
}
}
if (NameTrue)
{
byte[] buffe = FileUpload1.FileBytes;//直接把图片用字节数组读出
MemoryStream ms = new MemoryStream(buffe);//转成内存流,但然还可以用stream来做
Bitmap bm = new Bitmap(ms);//转成图片
try
{
//这里是保存入数据库
//主要保存图片那个字段设成"image"图片类型
conn = new SqlConnection("server=CHENG/SQLEXPRESS;database=ImageTest;uid=sa;pwd=jacky;");
SqlCommand cmd = new SqlCommand("insert into test values('" + bm + "')", conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
Label1.Text = "上传成功";
}
catch(Exception ex)
{
Label1.Text = ex.ToString();
}
}
}
}
}
效果图:

这个写的是web版本的,不过如果是winform写起来更多容易一点。
希望能够对大家 有一点帮助啦!!!!
本文介绍了一种将图片文件转换为字节数组,并将其保存到数据库的方法。通过使用C#编程语言,实现对特定格式的图片文件(如.gif、.bmp、.jpg、.png)进行读取,并将其插入到SQL Server数据库中。
7889

被折叠的 条评论
为什么被折叠?



