c存儲圖片到資料庫
就是2中方法:
1:上傳圖片的相對路徑到資料庫中相應欄位里,讀取顯示時,將控制項(假設用的是Image控制項)的ImageUrl屬性指向該相對路徑即可。
2:將圖片以二進制流的方式整體上傳到資料庫里,讀取顯示時,以二進制流的方式整體讀出。這種方法稍微麻煩一點,但保存的是圖片整體到資料庫里。
Ⅱ 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();
}
Ⅲ 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;
Ⅳ 有一個圖片保存在"c:/123/123.jpg",如何把它的路徑保存到資料庫並讀出來
在wwwroot目錄建立一個目錄,例如images,將圖片保存在這個目錄中,在資料庫建立一個欄位,例如LJ,在這個欄位中輸入:/images/123.jpg即可。
Ⅳ 圖片如何存入資料庫
通常對用戶上傳的圖片需要保存到資料庫中。解決方法一般有兩種:一種是將圖片保存的路徑存儲到資料庫;另一種是將圖片以二進制數據流的形式直接寫入資料庫欄位中。以下為具體方法:
一、保存圖片的上傳路徑到資料庫:
string uppath="";//用於保存圖片上傳路徑
//獲取上傳圖片的文件名
string fileFullname = this.FileUpload1.FileName;
//獲取圖片上傳的時間,以時間作為圖片的名字可以防止圖片重名
string dataName = DateTime.Now.ToString("yyyyMMddhhmmss");
//獲取圖片的文件名(不含擴展名)
string fileName = fileFullname.Substring(fileFullname.LastIndexOf("\\") + 1);
//獲取圖片擴展名
string type = fileFullname.Substring(fileFullname.LastIndexOf(".") + 1);
//判斷是否為要求的格式
if (type == "bmp" || type == "jpg" || type == "jpeg" || type == "gif" || type == "JPG" || type == "JPEG" || type == "BMP" || type == "GIF")
{
//將圖片上傳到指定路徑的文件夾
this.FileUpload1.SaveAs(Server.MapPath("~/upload") + "\\" + dataName + "." + type);
//將路徑保存到變數,將該變數的值保存到資料庫相應欄位即可
uppath = "~/upload/" + dataName + "." + type;
}
二、將圖片以二進制數據流直接保存到資料庫:
引用如下命名空間:
using System.Drawing;
using System.IO;
using System.Data.SqlClient;
設計資料庫時,表中相應的欄位類型為iamge
保存:
//圖片路徑
string strPath = this.FileUpload1.PostedFile.FileName.ToString ();
//讀取圖片
FileStream fs = new System.IO.FileStream(strPath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
byte[] photo = br.ReadBytes((int)fs.Length);
br.Close();
fs.Close();
//存入
SqlConnection myConn = new SqlConnection("Data Source=.;Initial Catalog=stumanage;User ID=sa;Password=123");
string strComm = " INSERT INTO stuInfo(stuid,stuimage) VALUES(107,@photoBinary )";//操作資料庫語句根據需要修改
SqlCommand myComm = new SqlCommand(strComm, myConn);
myComm.Parameters.Add("@photoBinary", SqlDbType.Binary, photo.Length);
myComm.Parameters["@photoBinary"].Value = photo;
myConn.Open();
if (myComm.ExecuteNonQuery() > 0)
{
this.Label1.Text = "ok";
}
myConn.Close();
讀取:
...連接資料庫字元串省略
mycon.Open();
SqlCommand command = new
SqlCommand("select stuimage from stuInfo where stuid=107", mycon);//查詢語句根據需要修改
byte[] image = (byte[])command.ExecuteScalar ();
//指定從資料庫讀取出來的圖片的保存路徑及名字
string strPath = "~/Upload/zhangsan.JPG";
string strPhotoPath = Server.MapPath(strPath);
//按上面的路徑與名字保存圖片文件
BinaryWriter bw = new BinaryWriter(File.Open(strPhotoPath,FileMode.OpenOrCreate));
bw.Write(image);
bw.Close();
//顯示圖片
this.Image1.ImageUrl = strPath;
採用倆種方式可以根據實際需求靈活選擇。
Ⅵ 如何將圖片轉換存入到資料庫中,並從資料庫中
你自己做個小程序,分別連接兩個資料庫,然後從一個庫倒到另一個就ok了!
Ⅶ 在Vc里用odbc如何將圖片存儲到SQLServer資料庫再從資料庫里讀出顯示
現在的資料庫還沒到能存放圖片的地步
只能放圖片所在的地址,然後在要用的時候讀取這個地址,把圖片顯示出去
Ⅷ 圖片如何存入資料庫
1、新建一個資料庫,資料庫名為Image,表名為image。並為表添加ID,tupian兩個列。
Ⅸ 怎麼把圖片保存到資料庫里
。資料庫一般不是用來放圖片的,如果你是做網站,你的空間根本不夠放那麼多。。建議你還是在資料庫中保存你圖片的地址 追問: 我知道,但是如果你放在你的根目錄下,那如果是一個公司的員工照片放在那不是很危險了嗎? 回答: 你做的大概是C/S系統吧。。對於那個我不熟悉~ 不過應該也可以用許可權過濾的。但是這些東西都是保存在伺服器上面的,你普通員工的電腦沒有許可權是不能訪問服務上的圖片的 追問: 當然也要設置許可權啦 回答: 那就不存在 你不想讓人看到的東西被人看到了,因為那些是保存在你伺服器的電腦文件夾下面,除非你員工跑到你主機上面去找。你不給人家看的東西,人家是看不到的。。員工看到的只是一個URL連接地址而已、、 追問: 如果用我那種方法有辦法實現嗎???? 回答: 沒聽過。我以前都是用那些用URL地址的。。我沒用過把圖片放在資料庫裡面的。。。至少大多數人都是這樣的 追問: 我知道,因為呢,我現在要做的是一個影像處理系統,而影像的話就是二進制流類型的數據,所以需要這樣做,望哪位大俠幫幫忙啦 曉月 的感言: 謝謝你幫了我大忙!