当前位置:首页 » 数据仓库 » c图片保存到数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c图片保存到数据库

发布时间: 2023-05-11 04:08:32

❶ 图片如何存入数据库

1、新建一个数据库,数据库名为Image,表名为image。并为表添加ID,tupian两个列。

❷ C#winform 中上传图片保存到数据库中

就是2中方法:
1:上传图片的相对路径到数据库中相应字段里,读取显示时,将控件(假设用的是Image控件)的ImageUrl属性指向该相对路径即可。

2:将图片以二进制流的方式整体上传到数据库里,读取显示时,以二进制流的方式整体读出。这种方法稍微麻烦一点,但保存的是图片整体到数据库里。

❸ 如何C#中将图片保存到Access数据库中

param[0] = new OleDbParameter("搭悄@image_file", OleDbType.Integer);
数据类型不应该是历枝培肢唯OleDbType.Integer

❹ c#如何将图片保存到mysql数据库,再读取出来

直接将图片以二进制流的方式写入到mysql数据库中,由于数据量大,必然会导致服务器的数据库负载很大

我的建议:采取将图片存储在物理磁盘将相对路径存储在数据库中这样会减小数据库负载

附上 "上传图片" 代码:

///<summary>
///上传图片
///</summary>
升森巧///<paramname="files">文件框名称</param>
///<paramname="paths">上传文件路径,url</param>
///<paramname="fmax">文件的最大值,单位为字节</param>
///<paramname="ftype">类型:1表示图片;0表示所有文件</param>
春冲///<returns></returns>
publicstaticstringupfiles(System.Web.UI.HtmlControls.HtmlInputFilefiles,stringpaths,longfmax,stringftype)
{

//files文件上传组件的名称;paths要上传到的目录;fmax是上传文件最大值;ftype是上传文件的类型
//默认上传文件最大值100k,文件类型为所有文件
//1为图片jpgorgif;0为所有文件
//如果文件大于设定值,返回代码0
//如果文件类型错误,返回代码1
//初始化
longfileMax=100000;
stringfileType="0";
stringfileTypet="";

fileMax=fmax;
fileType=ftype;if(files.PostedFile.ContentLength>fileMax)
吵键{
return"0";
//返回错误代码,结束程序
}

fileTypet=System.IO.Path.GetExtension(files.PostedFile.FileName).ToLower();
if(fileType=="1")
{
if(fileTypet!=".jpg"&&fileTypet!=".jpeg"&&fileTypet!=".gif")
{
return"1";
//返回错误代码,结束程序
}
}
stringdestdir=System.Web.HttpContext.Current.Server.MapPath(paths);
stringfilename=CFun.RandomWord()+fileTypet;
stringdestpath=System.IO.Path.Combine(destdir,filename);

//检查是否有名称重复,如果重复就在前面加从0开始的数字
inti=0;
stringtempfilename=filename;
while(System.IO.File.Exists(destpath))
{
//有重复
tempfilename=i.ToString()+filename;
destpath=System.IO.Path.Combine(destdir,tempfilename);
i=i+1;
}


//没有重复,保存文件
files.PostedFile.SaveAs(destpath);
//返回文件名称
returntempfilename;
}

❺ C# 如何将 图片直接存入SQL数据库中


//把文件转成二进制流出入数据库
privatevoidbutton2_Click(objectsender,EventArgse)
{
FileStreamfs=newFileStream(textBox1.Text,FileMode.Open);
BinaryReaderbr=newBinaryReader(fs);
Byte[]byData=br.ReadBytes((int)fs.Length);
fs.Close();
拿蚂锋stringconn="server=.;database=testDB;Uid=sa;Pwd=sa";
SqlConnectionmyconn=newSqlConnection(conn);
myconn.Open();
stringstr="insertintopro_table(pro_name,pro_file)values('测试文件',@file)";
SqlCommandmycomm=newSqlCommand(str,myconn);
mycomm.Parameters.Add("@file",SqlDbType.Binary,byData.Length);
mycomm.Parameters["@file"].Value=byData;
mycomm.ExecuteNonQuery();
myconn.Close();
}

//从数据库中把二进制流读出写入还原成文件
privatevoidbutton4_Click(objectsender,EventArgse)
{
stringconn="server=.;database=testDB;Uid=sa;Pwd=sa";
stringstr="selectpro_filefrompro_tablewherepro_name='测试文件'";
SqlConnectionmyconn=newSqlConnection(conn);
物此SqlDataAdaptersda=newSqlDataAdapter(str,conn);
DataSetmyds=newDataSet();
myconn.Open();
sda.Fill(myds);
myconn.Close();
Byte[]Files=(Byte[])myds.Tables[0].Rows[0]["pro_file"];
BinaryWriterbw=newBinaryWriter(File.Open("D:\2.rdlc",FileMode.OpenOrCreate));
bw.Write(Files);
bw.Close();

消晌}

❻ 如何将图片存到数据库中

保存图片到数据库中,有两种方法:
1、一种是用大对象,即blob型,对c#不了解,但是java、c++中都有专门操作blob的对象,应该是以二进制流的方式走的。但是不建议采用这样的管理方式,会加重数据库、程序负担,即使是手机开发也是如此。
2、图片保存在本地,数据库中用字符串存储地址,这样的方式比较好,也较易实现。但是缺乏安全性,把图片重命名就行了,改个后缀,一般人就不会打开。还是不放心,用二进制加密下就好,这样的程序代价仍然要比存在数据库大对象中要好。

❼ 求C# 如何把图片的路径保存到数据库中,并从数据库中读取路径转化为图片显示出来 求代码

本实例主要介绍如何将带岁野图片存入数据库。将图片存入数据库,首先要在数据库中建立一张表,将存储图片的字段类型设为Image类型,用FileStream类、BinaryReader把图片读成字节蠢喊的形式,赋给一个字节数组,然后用ADO.SqlCommand对象的ExecuteNonQuery()方法来把数据保存到数据库中。主要代码如下:

代码如下:
private void button1_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "*jpg|*.JPG|*.GIF|*.GIF|*.BMP|*.BMP";
if(openFileDialog1.ShowDialog()==DialogResult.OK)
{ string fullpath =openFileDialog1.FileName;//文件路径
FileStream fs = new FileStream(fullpath, FileMode.Open);
byte[] imagebytes =new byte[fs.Length];
BinaryReader br = new BinaryReader(fs);
imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));
//打开数据库
SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=;database=db_05");
con.Open();
SqlCommand com = new SqlCommand("insert into tb_08 values(@ImageList)",con);
com.Parameters.Add("ImageList", SqlDbType.Image);
com.Parameters["ImageList"].Value = imagebytes;
com.ExecuteNonQuery();
con.Close();
}
}
本实例主要介绍如何从数据库中把图片读出来。实现本实例主要是利用SqlDataReader从数据库中把Image字段雀知值读出来,赋给一个byte[]字节数组,然后使用MemoryStream类与Bitmap把图片读取出来。主要代码如下:
private void button1_Click(object sender, EventArgs e)
{
byte[] imagebytes = null;
//打开数据库
SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=;database=db_05");
con.Open();
SqlCommand com = new SqlCommand("select top 1* from tb_09", con);
SqlDataReader dr = com.ExecuteReader();
while (dr.Read())
{
imagebytes = (byte[])dr.GetValue(1);
}
dr.Close();
com.Clone();
con.Close();
MemoryStream ms = new MemoryStream(imagebytes);
Bitmap bmpt = new Bitmap(ms);
pictureBox1.Image = bmpt;
}
本实例主要介绍如何只允许输入指定图片格式。用OpenFileDialog控件打开图片文件,只要将OpenFileDialog控件的Filter属性指定为特定的图片格式即可。例如,打开.bmp文件的图片,主要代码如下:
this.openFileDialog1.Filter = "bmp文件(*.bmp)|*.bmp";
在用pictureBox控件输入图片时,要想统一图片大小,只需把控件的SizeMode属性值设为StretchImage即可,StretchImage值表示图像的大小将调整为控件的大小。这样,图片的大小就统一了。

❽ C#怎么将图片保存到SQL数据库

this.pictureBox1.Image
=
Image.FromStream(this.openFileDialog1.OpenFile());
//获取当前图片的路径
string
path
=
openFileDialog1.FileName.ToString();
//将制定路径的图片添加到FileStream类中
FileStream
fs
=
new
FileStream(path,
FileMode.Open,
FileAccess.Read);
//通过FileStream对象实例化BinaryReader对象
BinaryReader
br
=
new
BinaryReader(fs);
//通过BinaryReader类对象的ReadBytes()方法将FileStream类对象转化为二进制数组
byte[]
imgBytesIn
=
br.ReadBytes(Convert.ToInt32(fs.Length));第二步:
//将图片添加到数据库中
string
sql="insert
into
pic
values(@pic)";
SqlParameter[]
param
=
new
SqlParameter[]
{
new
SqlParameter("@pic",
imgBytesIn)
};
DBHelper.GetExecuteQuery(sql,
param);第三步:
//将图片从数据库中取出
string
sql="select
*
from
pic
where
id=0";
SqlDataReader
reader
=
DBHelper.GetExecuteReader(sql,
null);
MemoryStream
mss
=
null;