六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

怎么在ASP.Net 中把圖片存入數(shù)據(jù)庫(kù)

[摘要]介紹 可能有很多的時(shí)候,我們急需把圖片存入到數(shù)據(jù)庫(kù)當(dāng)中。在一些應(yīng)用程序中,我們可能有一些敏感的資料,由于存儲(chǔ)在文件系統(tǒng)(file system)中的東西,將很容易被某些用戶盜取,所以這些數(shù)據(jù)不能...
介紹

   可能有很多的時(shí)候,我們急需把圖片存入到數(shù)據(jù)庫(kù)當(dāng)中。在一些應(yīng)用程序中,我們可能有一些敏感的資料,由于存儲(chǔ)在文件系統(tǒng)(file system)中的東西,將很容易被某些用戶盜取,所以這些數(shù)據(jù)不能存放在文件系統(tǒng)中。

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

  在這篇文章中我們可以學(xué)到以下幾個(gè)方面的知識(shí):

1.     插入圖片的必要條件

2.     使用流對(duì)象

  3. 查找準(zhǔn)備上傳的圖片的大小和類型

4.怎么使用InputStream方法?



插入圖片的必要條件

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

#Form 標(biāo)記的 enctype 屬性應(yīng)該設(shè)置成 enctype="multipart/form-data"

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

把以上三點(diǎn)應(yīng)用到aspx頁(yè)面。同時(shí)我們需要對(duì)SqlServer做以下的準(zhǔn)備。

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

# 如果我們還有另外一個(gè)變字符類型的字段來存儲(chǔ)圖片類型,那樣會(huì)更好一些。

現(xiàn)在,我們準(zhǔn)備了一個(gè)Sql表(包含了一個(gè)image數(shù)據(jù)類型的字段),還有<input type=file>標(biāo)記。當(dāng)然我們還得準(zhǔn)備Submit按鈕,以便用戶在選擇了圖片以后提交。在這個(gè)按鈕的Onclick事件里,我們需要讀取選取圖片的內(nèi)容,然后把它存入到表里。那我們先來看看這個(gè)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控件的對(duì)象。首先需要獲得圖片的大小,可以使用下面的代碼實(shí)現(xiàn):

intImageSize = PersonImage.PostedFile.ContentLength

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

ImageStream = PersonImage.PostedFile.InputStream

我們需要一個(gè)字節(jié)型數(shù)組來存儲(chǔ)image 內(nèi)容。讀取整個(gè)圖片可以使用Stream對(duì)象的Read方法來實(shí)現(xiàn)。Read(in byte[] buffer,int offset,int count)方法有三個(gè)參數(shù)。【關(guān)于Read方法的詳細(xì)可以參看.Net FrameWorkSDK】他們是:

buffer

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

offset

buffer 中的從零開始的字節(jié)偏移量,從此處開始存儲(chǔ)從當(dāng)前流中讀取的數(shù)據(jù)。

count

要從當(dāng)前流中最多讀取的字節(jié)數(shù)。

這個(gè)Read方法用以下代碼實(shí)現(xiàn):
intStatus = ImageStream.Read(ImageContent, 0, intImageSize)
.

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

結(jié)論

我們已經(jīng)討論了如何把圖片存入到Sql Server,那么我們?nèi)绾螐腟qlServer中讀取圖片呢?可以參看我的另一篇文章:在Asp.Net中從SqlServer中檢索圖片。


主站蜘蛛池模板: 婷婷网五月天天综合天天爱 | 特黄十八岁大片 | 欧美最新在线 | 日本黄色福利视频 | 欧洲性开放大片免费观看视频 | 在线亚洲观看 | 欧美在线观看a | 日韩美女一级片 | 羞羞漫画在线阅读页面漫画入口页面弹窗无限 | 青娱乐黄色 | 婷婷色在线播放 | 亚洲欧美日韩中字综合 | 亚洲mm8成为人影院 亚洲h在线观看 | 婷婷免费在线 | 色综合久久天天综合观看 | 日本免费一区视频 | 天天干天天干天天干天天干天天干 | 亚洲综合影视 | 日韩综合图区 | 欧美亚洲人成网站在线观看刚交 | 全黄一级裸片视频免费 | 四虎在线免费观看视频 | 五月亭亭激情五月 | 青春草国产成人精品久久 | 在线视频欧美精品 | 日韩特级毛片免费观看视频 | 涩涩五月天 | 欧美午夜网 | 色综合久久综合网欧美综合网 | 日韩欧美91| 欧洲97色综合成人网 | 日韩在线高清视频 | 五月天六月婷婷 | 日韩怡春院 | 伊人久热这里只有精品视频99 | 一级毛片免费毛片一级毛片免费 | 欧美一级免费大片 | 日本高清视频在线www色下载 | 天天干天天操天天插 | 日韩国产精品99久久久久久 | 日韩成人在线免费视频 |