您的位置:首页 > 教程资讯 > 皇冠体育的网址 > ASP.NET > 在ASP.net中保存/取出图片入/从SQL数据库

在ASP.net中保存/取出图片入/从SQL数据库

发布于:2016-03-11 11:19:00   分享到:

一、把图片存入数据库中

用到以下几个方面的知识:
1. 使用流对象
2. 查找准备上传的图片的大小和类型
3.怎么使用InputStream皇冠体育的网址|首页

插入图片的必要条件
1.#Form 标记的 enctype 属性应该设置成 enctype="multipart/form-data"
2.# 需要一个表单来使用户选择他们要上传的文件,同时我们需要导入 System.IO名称空间来处理流对象
对SqlServer做以下的准备
1.# 需要至少含有一个图片类型的字段的表
2.# 如果我们还有另外一个变字符类型的字段来存储图片类型,那样会更好一些。

窗体控件
1.插入图片用到的是System.Web.UI.HtmlControls.HtmlInputFile控件,我们在webform中放入这个控件,取名为“imgInput”
2.同时再放入一个确认上传按钮“Button1”

程序代码
AddImg,用于返回要上传的图片内容

?1Private Function AddImg()Function AddImg(ByVal InputImg As System.Web.UI.HtmlControls.HtmlInputFile, ByVal ImgType As String, ByVal MaxSize As Int64) As Byte()
?2'传入一个htmlinputfile控件,一个上传图片格式和一个上传图片最大值,返回图片的内容,既要写入数据库中的内容,你也可以同时写入图片类型
?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("") '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("")
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
示例调用

Dim imageContent() As Byte
?????? imageContent = AddImg(fileImg, "image/pjpeg", 512000)'上传图片类型为jpg,最大不超过500K

插入数据库

我想这部分就不用写了吧,你可以用任何方式(推荐使用存储过程),将imageContent插入到数据库中类型为image的字段就行了。

二、把图片从数据库中读出

这部分比较简单:

假设img变量是你从数据库中取出的图片内容
那么直接使用
Response.BinaryWrite(img)
就可以将图片输出到页面上了

三:总结

将图片存放在数据库中其实是起到了图片保护的作用,这样就算别人浏览你的机器也看不到你的图片,也可以用来保护重要的图片资料。

标签:

ASP NET SQL 数据库

关于我们  加入我们  版权声明  商务合作  友情链接  网站地图  站长统计

脚本大全-脚本语言之家-版权所有 

Copyright (C) 2016 jiaoben.net, All Rights Reserved