国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

在ASP.net中保存/取出圖片入/從SQL數(shù)據(jù)庫(可用于上傳圖片)

2019-11-18 17:10:41
字體:
供稿:網(wǎng)友

一、把圖片存入數(shù)據(jù)庫
 
用到以下幾個(gè)方面的知識(shí):
1. 使用流對象
2. 查找準(zhǔn)備上傳的圖片的大小和類型
3.怎么使用InputStream方法

插入圖片的必要條件
1.#Form 標(biāo)記的 enctype 屬性應(yīng)該設(shè)置成 enctype="mult2.# 需要一個(gè)<input type=file>表單來使用戶選擇他們要上傳的文件,同時(shí)我們需要導(dǎo)入 System.IO名稱空間來處理流對象
對SqlServer做以下的準(zhǔn)備
1.# 需要至少含有一個(gè)圖片類型的字段的表
2.# 如果我們還有另外一個(gè)變字符類型的字段來存儲(chǔ)圖片類型,那樣會(huì)更好一些。

窗體控件
1.插入圖片用到的是System.Web.UI.HtmlControls.HtmlInputFile控件,我們在webform中放入這個(gè)控件,取名為“imgInput”
2.同時(shí)再放入一個(gè)確認(rèn)上傳按鈕“Button1”

程序代碼
AddImg,用于返回要上傳的圖片內(nèi)容

 1PRivate Function AddImg()Function AddImg(ByVal InputImg As System.Web.UI.HtmlControls.HtmlInputFile, ByVal ImgType As String, ByVal MaxSize As Int64) As Byte()
 2'傳入一個(gè)htmlinputfile控件,一個(gè)上傳圖片格式和一個(gè)上傳圖片最大值,返回圖片的內(nèi)容,既要寫入數(shù)據(jù)庫中的內(nèi)容,你也可以同時(shí)寫入圖片類型
 3        Dim intImageSize As Int64
 4        Dim strImageType As String
 5        Dim ImageStream As Stream
 6        ' Gets the Image Type
 7   strImageType=InputImg.PostedFile.ContentType
 8        If strImageType <> ImgType Then
 9            Response.Write("<script>alert('圖片類型為""')</script>") 'jgp類型為"image/pjpeg"
10            Exit Function
11        End If
12        ' Gets the Size of the Image
13        intImageSize = InputImg.PostedFile.ContentLength
14        If intImageSize > MaxSize Then
15            Response.Write("<script>alert('圖片不得大于K')</script>")
16            Exit Function
17        End If
18        ' Reads the Image
19        ImageStream = InputImg.PostedFile.InputStream
20        Dim ImageContent(intImageSize) As Byte
21        Dim intStatus As Integer
22        intStatus = ImageStream.Read(ImageContent, 0, intImageSize)
23        Return ImageContent
24    End Function
示例調(diào)用

Dim imageContent() As Byte
       imageContent = AddImg(fileImg, "image/pjpeg", 512000)'上傳圖片類型為jpg,最大不超過500K

插入數(shù)據(jù)庫

我想這部分就不用寫了吧,你可以用任何方式(推薦使用存儲(chǔ)過程),將imageContent插入到數(shù)據(jù)庫中類型為image的字段就行了。

二、把圖片從數(shù)據(jù)庫中讀出

這部分比較簡單:

假設(shè)img變量是你從數(shù)據(jù)庫中取出的圖片內(nèi)容
那么直接使用
Response.BinaryWrite(img)
就可以將圖片輸出到頁面上了

三:總結(jié)

將圖片存放在數(shù)據(jù)庫中其實(shí)是起到了圖片保護(hù)的作用,這樣就算別人瀏覽你的機(jī)器也看不到你的圖片,也可以用來保護(hù)重要的圖片資料。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 巴彦县| 盐源县| 深泽县| 阳高县| 沧州市| 东海县| 安顺市| 扬州市| 乳源| 赤水市| 集安市| 抚顺县| 家居| 罗定市| 南平市| 徐闻县| 惠安县| 图木舒克市| 长葛市| 南靖县| 安阳县| 英吉沙县| 凌海市| 读书| 新乐市| 太仓市| 浦江县| 嵊州市| 永春县| 屯门区| 阳春市| 当阳市| 明水县| 永靖县| 威海市| 宜君县| 晋江市| 五寨县| 高阳县| 望奎县| 富锦市|