一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

ASP.Net 圖片存入數據庫的實現代碼

在這篇文章中,我們將討論怎樣把圖片存入到Sql2000當中。
在這篇文章中我們可以學到以下幾個方面的知識:
1. 插入圖片的必要條件
2. 使用流對象
3. 查找準備上傳的圖片的大小和類型
4.怎么使用InputStream方法?
插入圖片的必要條件
在我們開始上傳之前,有兩件重要的事我們需要做:
#Form 標記的 enctype 屬性應該設置成 enctype="multipart/form-data"
# 需要一個<input type=file>表單來使用戶選擇他們要上傳的文件,同時我們需要導入 System.IO名稱空間來處理流對象
把以上三點應用ASPx頁面。同時我們需要對SqlServer做以下的準備。
# 需要至少含有一個圖片類型的字段的表
# 如果我們還有另外一個變字符類型的字段來存儲圖片類型,那樣會更好一些。
現在,我們準備了一個Sql表(包含了一個image數據類型的字段),還有<input type=file>標記。當然我們還得準備Submit按鈕,以便用戶在選擇了圖片以后提交。在這個按鈕的Onclick事件里,我們需要讀取選取圖片的內容,然后把它存入到表里。那我們先來看看這個Onclick事件。
提交按鈕的Onclick事件的代碼:
以下為引用的內容:
復制代碼 代碼如下:
Dim intImageSize As Int64
Dim strImageType As String
Dim ImageStream As Stream
' Gets the Size of the Image
intImageSize = PersonImage.PostedFile.ContentLength
' Gets the Image Type
strImageType = PersonImage.PostedFile.ContentType
' Reads the Image
ImageStream = PersonImage.PostedFile.InputStream
Dim ImageContent(intImageSize) As Byte
Dim intStatus As Integer
intStatus = ImageStream.Read(ImageContent, 0, intImageSize)
' Create Instance of Connection and Command Object
Dim myConnection As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
Dim myCommand As New SqlCommand("sp_person_isp", myConnection)
' Mark the Command as a SPROC
myCommand.CommandType = CommandType.StoredProcedure
' Add Parameters to SPROC
Dim prmPersonImage As New SqlParameter("@PersonImage", SqlDbType.Image)
prmPersonImage.Value = ImageContent
myCommand.Parameters.Add(prmPersonImage)
Dim prmPersonImageType As New SqlParameter("@PersonImageType", SqlDbType.VarChar, 255)
prmPersonImageType.Value = strImageType
myCommand.Parameters.Add(prmPersonImageType)
Try
myConnection.Open()
myCommand.ExecuteNonQuery()
myConnection.Close()
Response.Write("New person successfully added!")
Catch SQLexc As SqlException
Response.Write("Insert Failed. Error Details are: " & SQLexc.ToString())
End Try

這是怎么工作的呢?
PersonImage是HTMLInputFile控件的對象。首先需要獲得圖片的大小,可以使用下面的代碼實現:
intImageSize = PersonImage.PostedFile.ContentLength
然后返回圖片的類型使用ContenType屬性。最后,也是最重要的事就是取得Image Stream,這可以用以下代碼實現:
ImageStream = PersonImage.PostedFile.InputStream
我們需要一個字節(jié)型數組來存儲image 內容。讀取整個圖片可以使用Stream對象的Read方法來實現。Read(in byte[] buffer,int offset,int count)方法有三個參數。【關于Read方法的詳細可以參看.NET FrameWorkSDK】他們是:
buffer
字節(jié)數組。此方法返回時,該緩沖區(qū)包含指定的字符數組,該數組的 offset 和 (offset + count) 之間的值由從當前源中讀取的字節(jié)替換。
offset
buffer 中的從零開始的字節(jié)偏移量,從此處開始存儲從當前流中讀取的數據。
count
要從當前流中最多讀取的字節(jié)數。
這個Read方法用以下代碼實現:
intStatus = ImageStream.Read(ImageContent, 0, intImageSize)
現在,我們已經讀取了整個圖片的內容,下一步,我們要把這些內容存入到sql 表。我們將使用存儲過程來完成插入圖片類型和圖片內容到sql 表。如果你瀏覽了上面的代碼,你將會發(fā)現我們使用了sqldbtype.image的數據類型(datatype)。Ok了,完成了這些,我們也就成功的把圖片存入到SqlServer中了。下面是我們編寫的ASPx頁面。
圖片存入數據庫結論
我們已經討論了如何把圖片存入到Sql Server,那么我們如何從SqlServer中讀取圖片呢?可以參看我的另一篇文章:在ASP.NET中從SqlServer中檢索圖片。

AspNet技術ASP.Net 圖片存入數據庫的實現代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 911亚洲国产自产 | 精品一区二区影院在线 | 天天色踪合 | 国产久热香蕉在线观看 | 国语对白一区二区三区 | 亚洲激情专区 | 拍真实国产伦偷精品 | 国产色视频网站 | 92看片淫黄大片欧美看国产片 | 免费国产成高清人在线视频 | tube44欧美高清 | 黄网站免费观看 | 精品日韩二区三区精品视频 | 男人的天堂久久精品激情a 男人进去女人爽免费视频国产 | 久久国产精品只做精品 | 国产视频二区在线观看 | 精品福利影院 | 黄色网在线看 | 国产伦精一区二区三区 | 好吊日视频在线 | 最新国产福利在线观看 | 999热精品这里在线观看 | 八戒精品无人区1区2区3区 | 婷婷丁香六月 | 亚洲婷婷影院 | 色噜噜狠狠一区二区三区果冻 | 亚洲伊人色欲综合网 | 久久99亚洲综合精品首页 | 色妹子影院 | 国产精品手机在线亚洲 | 99爱视频99爱在线观看免费 | 中文字幕日韩专区精品系列 | 香蕉一区二区三区观 | 狠狠色噜噜狠狠狠97影音先锋 | 国产精品麻豆免费版 | 久久久高清日本道免费观看 | 日本大臿亚洲香蕉大片 | 色婷婷精品免费视频 | 91精品久久久久久久久网影视 | 最近更新中文字幕第一页 | 69国产成人精品午夜福中文 |