❶ 圖片如何存入資料庫
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;