欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-01 22:05:28
一、把图片存入数据库中用到以下几个方面的知识:1. 使用流对象2. 查找准备上传的图片的大小和类型3.怎么使用inputstream方法插入图片的必要条件1.#form 标...

一、把图片存入数据库中

用到以下几个方面的知识:
1. 使用流对象
2. 查找准备上传的图片的大小和类型
3.怎么使用inputstream方法

插入图片的必要条件
1.#form 标记的 enctype 属性应该设置成 enctype="multipart/form-data"
2.# 需要一个<input type=file>表单来使用户选择他们要上传的文件,同时我们需要导入 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("<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
示例调用

dim imagecontent() as byte
       imagecontent = addimg(fileimg, "image/pjpeg", 512000)'上传图片类型为jpg,最大不超过500k

插入数据库

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

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

这部分比较简单:

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

三:总结

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