将图片以二进制的格式存储到数据库中

本文介绍了一种将图片文件存储到数据库中的方法,包括获取上传文件路径、验证文件格式及大小,并使用ADO.NET将图片数据插入数据库的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以前看到论坛里有很多人想要把图片存到数据库中,而不是把图片存到文件夹里,这个需求在当里看来有点麻烦,因为那时只想到用二进制的方法,但具体的实现我一直都没想过,最近自己做一个项目,实在没办法,只能多看看,多学习了.如下是代码:

//从上传控件中获取上传文件的路径

string ImgPath = FileUpload1.PostedFile.FileName;

//得到文件名

 string ImgName = ImgPath.Substring(ImgPath.LastIndexOf("//") + 1);

//得到上传文件名的扩展名

string ImgExtend = ImgPath.Substring(ImgPath.LastIndexOf(".") + 1);

//判断上传的文件格式是否正确

if (!(ImgExtend == "bmp" || ImgExtend == "jpg" || ImgExtend == "gif")) { Label3.Text = "上传图片的格式不正确!"; return; }

//获取上传文件的长度

 int FileLen = this.FileUpload1.PostedFile.ContentLength; Byte[] FileData = new Byte[FileLen]; HttpPostedFile hp = FileUpload1.PostedFile;

//创建访问客户端上传文件的对象

 Stream sr = hp.InputStream;

//创建数据流对象

 sr.Read(FileData, 0, FileLen);

//将图片数据放到FileData数组对象实例中,其中0代表数组指针的起始位置,FileLen表示要读取流的长度(指针的结素位置)

SqlConnection con = new SqlConnection("server=(local);user id=sa;pwd=;database=数据库名");

con.Open(); SqlCommand com = new SqlCommand("Insert INTO 表名 (name) VALUES (@imgdata)", con); com.Parameters.Add("@imgdata", SqlDbType.Image); com.Parameters["@imgdata"].Value = FileData; com.ExecuteNonQuery(); Label3.Text = "保存成功!";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值