在ASP.net中保存/取出图片入/从SQL数据库(可用于上传图片)

转载 2006年06月09日 18:03:00
一、把图片存入数据库中
 
用到以下几个方面的知识:
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(ByVal InputImg As System.Web.UI.HtmlControls.HtmlInputFile, ByVal ImgType As StringByVal 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)
就可以将图片输出到页面上了

三:总结

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

在ASP.NET中把图片保存到SQL SERVER数据库

翻译:吕绍伟(转载)介绍在很多情况下,我们需要把图片保存到数据库中。在某些应用程序中,存在一些敏感信息不能被存储到文件系统中,因为存储在文件系统上的任何图片都很容易被用户非法获得。本文将讨论在ASP....
  • vzxq
  • vzxq
  • 2004年09月14日 10:17
  • 1099

如何在ASP.Net 中把图片存入数据库

介绍   可能有很多的时候,我们急需把图片存入到数据库当中。在一些应用程序中,我们可能有一些敏感的资料,由于存储在文件系统(file system)中的东西,将很容易被某些用户盗取,所以这些数据不能存...
  • 21aspnet
  • 21aspnet
  • 2004年12月10日 16:46
  • 3636

在ASP.net中保存/取出图片入/从SQL数据库(可用于上传图片)

一、把图片存入数据库中 用到以下几个方面的知识:1. 使用流对象2. 查找准备上传的图片的大小和类型3.怎么使用InputStream方法插入图片的必要条件1.#Form 标记的 enctype 属性...
  • alys
  • alys
  • 2007年01月12日 15:56
  • 515

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

一、把图片存入数据库中 用到以下几个方面的知识:1. 使用流对象2. 查找准备上传的图片的大小和类型3.怎么使用InputStream方法插入图片的必要条件1.#Form 标记的 enctype 属性...
  • lne818
  • lne818
  • 2006年07月08日 10:04
  • 809

asp.net 从数据库中读取而二进制数据图片,展示在Image中

1、首先建立新页面Default2.aspx protected void Button3_Click(object sender, EventArgs e)     {         Ima...
  • wusahaoshuai
  • wusahaoshuai
  • 2012年01月24日 18:21
  • 3204

asp.net中将图片或文件存入数据库并读取显示在image控件中

      最近在做一个项目时,发现数据库的设计是把图片的存放字段设置成了image类型。这就说明你只能把文件存入到数据库中,这个做法不是我常用的,只存图片路径的方法。所以就上网去查了一下。大体做法都...
  • chenguang79
  • chenguang79
  • 2007年10月29日 10:48
  • 7706

C#+asp.net+sql数据库完成图片的保存与读取

我们在使用asp.net时经常会用到数据库对图片进行保存和读取,因此笔者对此进行了仔细研究,图片的保存和读取有两种方式: 一.以图片的url地址的方式 在以图片url地址的方式中,我们向数据库中保...
  • lxping1012
  • lxping1012
  • 2011年10月22日 18:52
  • 9185

ASP.Net数据库如何存取图片

当我们有大量的图片或者图片比较大时,我们常规的做法可能是保存图片路径,但是也不排除需要将图片直接存放到数据库的情况,此时就需要保存图片到数据库了。这篇文章我会向大家介绍: 如何通过FileUpL...
  • dapangzi88
  • dapangzi88
  • 2017年01月29日 17:08
  • 1949

详解vb.net实现图片以二进制形式上传和读取到数据库

 本篇文章旨在vb.net下实现图片以二进制形式存到数据库,并能从数据库中读取显示出来,下面附了运行后的效果和代码例子1. 导入图像文件,以二进制形式存入数据库表。2. 从数据库表读取二进制信息,返原...
  • lhm19810710
  • lhm19810710
  • 2010年10月29日 20:18
  • 1306

asp.net图片上传后,图片实际删除总结

个人补充:Server.MapPath()中路径从数据库中读取如/aa/bb/cc.jpg删除得有~符号读取后添加~就是读取值=“~”+读取值;一、引入using   System.IO;   Sql...
  • sendling
  • sendling
  • 2007年04月06日 23:39
  • 2097
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在ASP.net中保存/取出图片入/从SQL数据库(可用于上传图片)
举报原因:
原因补充:

(最多只允许输入30个字)