成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET數據庫圖片存儲到Sql2000中

開發 后端
本文介紹如何把ASP.NET數據庫圖片存儲到Sql2000中,從而防止數據被用戶盜取。

在很多時候,我們有這樣的需求:把圖片存入到數據庫當中。在一些應用程序中,我們可能有一些敏感的資料,由于存儲在文件系統(file system)中的東西,將很容易被某些用戶盜取,所以這些數據不能存放在文件系統中。

    在這篇文章中,我們將討論怎樣把圖片存入到Sql2000當中。

    在這篇文章中我們可以學到以下幾個方面的知識:

    1. 插入圖片的必要條件

    2. 使用流對象

    3. 查找準備上傳的圖片的大小和類型

    4.怎么使用InputStream方法?

ASP.NET數據庫圖片存儲:插入圖片的必要條件

在我們開始上傳之前,有兩件重要的事我們需要做:

#Form 標記的 enctype 屬性應該設置成 enctype="multipart/form-data"

# 需要一個<input type=file>表單來使用戶選擇他們要上傳的文件,同時我們需要導入 System.IO名稱空間來處理流對象

把以上三點應用到aspx頁面。同時我們需要對SqlServer做以下的準備。

# 需要至少含有一個圖片類型的字段的表

# 如果我們還有另外一個變字符類型的字段來存儲圖片類型,那樣會更好一些。

現在,我們準備了一個Sql表(包含了一個image數據類型的字段),還有<input type=file>標記。當然我們還得準備Submit按鈕,以便用戶在選擇了圖片以后提交。在這個按鈕的Onclick事件里,我們需要讀取選取圖片的內容,然后把它存入到表里。那我們先來看看這個Onclick事件。

提交按鈕的Onclick事件的代碼:

  1. Dim intImageSize As Int64   
  2.      Dim strImageType As String   
  3.      Dim ImageStream As Stream  
  4.  
  5.     ’ Gets the Size of the Image   
  6.     intImageSize = PersonImage.PostedFile.ContentLength  
  7.  
  8.     ’ Gets the Image Type   
  9.     strImageType = PersonImage.PostedFile.ContentType  
  10.  
  11.     ’ Reads the Image   
  12.     ImageStream = PersonImage.PostedFile.InputStream  
  13.  
  14.     Dim ImageContent(intImageSize) As Byte   
  15.     Dim intStatus As Integer   
  16.     intStatus = ImageStream.Read(ImageContent, 0, intImageSize)  
  17.  
  18.     ’ Create Instance of Connection and Command Object   
  19.     Dim myConnection As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))   
  20.     Dim myCommand As New SqlCommand("sp_person_isp", myConnection)  
  21.  
  22.     ’ Mark the Command as a SPROC   
  23.     myCommand.CommandType = CommandType.StoredProcedure  
  24.  
  25.     ’ Add Parameters to SPROC   
  26.     Dim prmPersonImage As New SqlParameter("@PersonImage", SqlDbType.Image)   
  27.     prmPersonImage.Value = ImageContent   
  28.     myCommand.Parameters.Add(prmPersonImage)  
  29.  
  30.     Dim prmPersonImageType As New SqlParameter("@PersonImageType", SqlDbType.VarChar, 255)   
  31.     prmPersonImageType.Value = strImageType   
  32.     myCommand.Parameters.Add(prmPersonImageType)  
  33.  
  34.     Try   
  35.         myConnection.Open()   
  36.         myCommand.ExecuteNonQuery()   
  37.         myConnection.Close()  
  38.        Response.Write("New person successfully added!")   
  39.     Catch SQLexc As SqlException   
  40.         Response.Write("Insert Failed. Error Details are: " & SQLexc.ToString())   
  41.     End Try 

這是怎么實現ASP.NET數據庫圖片存儲的呢?

PersonImage是HTMLInputFile控件的對象。首先需要獲得圖片的大小,可以使用下面的代碼實現:

intImageSize = PersonImage.PostedFile.ContentLength

然后返回圖片的類型使用ContenType屬性。***,也是最重要的事就是取得Image Stream,這可以用以下代碼實現:

ImageStream = PersonImage.PostedFile.InputStream

我們需要一個字節型數組來存儲image 內容。讀取整個圖片可以使用Stream對象的Read方法來實現。Read(in byte[] buffer,int offset,int count)方法有三個參數。他們是:

buffer

字節數組。此方法返回時,該緩沖區包含指定的字符數組,該數組的 offset 和 (offset + count) 之間的值由從當前源中讀取的字節替換。

offset

buffer 中的從零開始的字節偏移量,從此處開始存儲從當前流中讀取的數據。

count

要從當前流中最多讀取的字節數。

這個Read方法用以下代碼實現:
intStatus = ImageStream.Read(ImageContent, 0, intImageSize)
.

現在,我們已經讀取了整個圖片的內容,下一步,我們要把這些內容存入到sql 表。我們將使用存儲過程來完成插入圖片類型和圖片內容到sql 表。如果你瀏覽了上面的代碼,你將會發現我們使用了sqldbtype.image的數據類型(datatype)。Ok了,完成了這些,我們也就成功的把圖片存入到SqlServer中了。下面是我們編寫的aspx頁面。

ASP.NET數據庫圖片存儲:圖片存入數據庫結論

我們已經討論了如何把圖片存入到Sql Server,那么我們如何從SqlServer中讀取圖片呢?可以參看我的另一篇文章:在Asp.Net中從SqlServer中檢索圖片。

【編輯推薦】

  1. ASP.NET自定義錯誤處理頁面的添加
  2. ASP.NET中的session存儲模式運用
  3. ASP.NET中的文件上傳下載方法集合
  4. ASP.NET中的cookie讀寫方法介紹
  5. ASP.NET中的javascript操作
責任編輯:yangsai 來源: 百度空間
相關推薦

2009-08-12 11:04:38

ASP.NET和SQL

2011-04-07 09:44:23

SQL2000數據庫SQL2005

2009-08-05 09:38:28

SQL Server數

2009-07-21 13:40:24

ASP.NET上傳圖片顯示圖片

2010-05-25 08:49:33

連接MySQL

2009-02-23 15:20:03

SQL Server數據庫ASP.NET

2009-07-31 09:57:47

ASP.NET數據庫緩

2009-07-28 17:36:21

ASP.NET數據庫連

2009-07-31 13:52:26

ASP.NET數據庫圖

2009-07-28 11:00:24

Excel導入SQL

2009-07-31 10:29:57

ASP.NET數據庫操

2009-07-20 17:03:55

批量插入數據ASP.NET

2009-03-09 17:46:16

ASP.NETSQLOracle

2009-07-29 09:12:31

ASP.NET數據庫連

2009-08-05 15:40:49

ASP.NET連接數據

2009-08-11 12:52:05

ASP.NET數據庫程

2010-06-02 12:32:29

MySQL數據庫

2009-07-20 16:56:16

SQL語句ASP.NET

2009-09-03 19:30:02

ASP.NET數據庫SQL Server

2009-07-27 17:58:10

ASP.NET數據庫編
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一二三| 国产日韩欧美中文字幕 | 在线亚洲免费 | 午夜影视网 | 亚洲国产一区二区视频 | 久久久精品视频免费看 | 在线观看国产三级 | 国产亚洲一区在线 | 久久99精品久久久久久噜噜 | 欧日韩不卡在线视频 | 精品国产一区二区三区久久久蜜月 | 亚洲激情在线观看 | 久久久精彩视频 | 欧美色综合一区二区三区 | 亚洲欧美日韩精品 | 97免费在线观看视频 | 范冰冰一级做a爰片久久毛片 | 99国产精品久久久久老师 | 91精品一区二区三区久久久久 | 国产欧美在线 | 国产成人精品一区二区三区在线 | 黄色一级电影免费观看 | www.黄色网 | 成人免费在线 | 国产精品无码专区在线观看 | 国产午夜精品一区二区三区嫩草 | 在线视频亚洲 | 国产欧美久久精品 | 久久ww| 国产成人jvid在线播放 | 一级毛片免费 | 亚洲欧美日韩一区二区 | 国产精品久久久久久久久久久免费看 | 日韩一区二区在线播放 | 国产精品日韩在线观看 | 日韩在线视频精品 | 黄色一级电影免费观看 | 91精品国产91久久久久青草 | 国产精品一二三区在线观看 | h视频在线观看免费 | 麻豆久久久9性大片 |