在SQL Server中儲存和輸出圖片 (轉)
介紹
:namespace prefix = o ns = "urn:schemas--com::office" />
有時候我們需要儲存一些binary data進。 SERVER提供一個叫做image的特殊資料型別供我們儲存binary data。Binary data可以是圖片、文件等。在這篇文章中我們將看到如何在中儲存和輸出圖片。
建表
為了試驗這個例子你需要一個含有資料的table(你可以在現在的庫中建立它,也可以建立一個新的資料庫),下面是它的結構:
Column Name
Datatype
Purpose
ID
Integer
ntity column Primary key
IMGTITLE
Varchar(50)
Stores some user friendly title to identity the image
IMGTYPE
Varchar(50)
Stores image content type. This will be same as recognized content types of
IMGDATA
Image
Stores actual image or binary data.
儲存images進SQL Server資料庫
為了儲存圖片到table你首先得從客戶端它們到你的。你可以建立一個web form,用TextBox得到圖片的標題,用HTML File Server Control得到圖片。確信你設定了Form的encType屬性為multipart/form-data。
Stream imgdatastream = File1.PostedFile.InputStream;
int imgdatalen = File1.PostedFile.ContentLength;
string imgtype = File1.PostedFile.ContentType;
string imgtitle = TextBox1.Text;
byte[] imgdata = new byte[imgdatalen];
int n = imgdatastream.Read(imgdata,0,imgdatalen);
string connstr=
((NameValueCollection)Context.GetConfig
("appSettings"))["connstr"];
SqlConnection connection = new SqlConnection(connstr);
SqlCommand command = new SqlCommand
("INSERT INTO ImageStore(imgtitle,imgtype,imgdata)
VALUES ( @imgtitle, @imgtype,@imgdata )", connection );
SqlParameter paramTitle = new SqlParameter
("@imgtitle", SqlType.VarChar,50 );
paramTitle.Value = imgtitle;
command.Parameters.Add( paramTitle);
SqlParameter parata = new SqlParameter
( "@imgdata", SqlDbType.Image );
paramData.Value = imgdata;
command.Parameters.Add( paramData );
SqlParameter paramType = new SqlParameter
( "@imgtype", SqlDbType.VarChar,50 );
paramType.Value = imgtype;
command.Parameters.Add( paramType );
connection.Open();
int numRowsAffected = command.ExecuteNonQuery();
connection.Close();
從資料庫中輸出圖片
現在讓我們從資料庫中取出我們剛剛儲存的圖片,在這兒,我們將直接將圖片輸出至。你也可以將它儲存為一個檔案或做任何你想做的。
private void Page_Load( sender, System.EventArgs e)
{
string imgid =Request.QueryString["imgid"];
string connstr=((NameValueCollection)
Context.GetConfig("appSettings"))["connstr"];
string sql=" imgdata, imgtype FROM ImageStore WHERE id = "
+ imgid;
SqlConnection connection = new SqlConnection(connstr);
SqlCommand command = new SqlCommand(sql, connection);
connection.Open();
SqlDataReader dr = command.ExecuteReader();
if(dr.Read())
{
Response.ContentType = dr["imgtype"].ToString();
Response.BinaryWrite( (byte[]) dr["imgdata"] );
}
connection.Close();
}
在上面的程式碼中我們使用了一個已經開啟的資料庫,透過datareader選擇images。接著用Response.BinaryWrite代替Response.Write來顯示image檔案。
希望您喜歡這些文章,如有任何意見和建議請致信to:webmaster@bipinjoshi.com">webmaster@bipinjoshi.com。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-996545/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 用PHP和MySQL儲存和輸出圖片PHPMySql
- Q&A:在SQL Server 2005中編寫儲存過程RVSQLServer儲存過程
- 儲存圖片
- SQL SERVER儲存過程AS和GO的含義SQLServer儲存過程Go
- 關於SQL Server中儲存過程在C#中呼叫的簡單示例SQLServer儲存過程C#
- SQL server儲存過程函式SQLServer儲存過程函式
- Python中scrapy下載儲存圖片Python
- 【轉】mysql儲存圖片技術決定:儲存二進位制檔案還是隻儲存圖片相對路徑,圖片放在硬碟上面?MySql硬碟
- base64 編碼轉圖片儲存本地和上傳 oss
- Ms Sql Server查詢儲存過程中的內容SQLServer儲存過程
- SQL Server儲存過程的優缺點SQLServer儲存過程
- 【SQL Server】常見系統儲存過程SQLServer儲存過程
- 儲存圖片到SD卡SD卡
- asp.net儲存圖片ASP.NET
- 短視訊原始碼,視訊轉為圖片儲存原始碼
- Android中呼叫攝像頭拍照儲存,並在相簿中選擇圖片顯示Android
- 理解SQL Server 2008索引的儲存結構YDSQLServer索引
- [SQL Server玩轉Python] 三.SQL Server儲存過程實現Python鳶尾花決策樹訓練及預測SQLServerPython儲存過程
- 諮詢數學公式儲存到mysql中 非圖片形式儲存公式MySql
- C# 截圖並儲存為圖片C#
- SQL Server儲存過程模擬HTTP請求POST和GET協議SQLServer儲存過程HTTP協議
- 移動端長按儲存、取消長按儲存圖片
- 在matlab中如何將圖片(png和jpg)轉成mat格式Matlab
- Acrobat怎麼批量儲存PDF小圖片?adobe Acrobat一鍵儲存pdf小圖片的技巧BAT
- Acrobat怎麼批次儲存PDF小圖片?adobe Acrobat一鍵儲存pdf小圖片的技巧BAT
- SQL Server 2005的複製儲存過程選項BYSQLServer儲存過程
- SQL Server資料儲存與NTFS簇的大小PXSQLServer
- SQL Server 2012新功能巡禮:列儲存索引YXSQLServer索引
- SQL Server 資料訪問策略:儲存過程QCSQLServer儲存過程
- SQL Server 列儲存索引 第一篇:概述SQLServer索引
- SQL Server 列儲存索引 第三篇:維護SQLServer索引
- SQL Server 列儲存索引 第二篇:設計SQLServer索引
- 使用Spark載入資料到SQL Server列儲存表SparkSQLServer
- Android開發 - “效驗和”效驗資料在傳輸或儲存過程中是否出錯解析Android儲存過程
- iOS實現點選圖片放大&長按儲存圖片iOS
- Android儲存多張圖片到本地Android
- 圖片儲存-從七牛到 GithubGithub
- cocos2dx之儲存截圖圖片
- 使用Python實現網頁中圖片的批次下載和水印新增儲存Python網頁