All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
.Net平台开发的技术规范与实践精华总结_[Asp.Net教程]
PHP上传文件的代码_[PHP教程]
PHP学习宝典-第六章(续篇)_[PHP教程]
C#中父窗口和子窗口之间实现控件互操作_[Asp.Net教程]
PHP实例-PHP分页代码_[PHP教程]
PHP技巧:PHP对GB编码动态转UTF-8几种方法评测_[PHP教程]
C#.net,控制Windows,Messenger和Windows,Live,Messenger_[Asp.Net教程]
收集整理了一些javascript,经典函数_JavaScript技术_编程技术
解决安装sqlServer2000提示,以前的某个程序安装已经在计算机上创建挂起的文件操作,必须重启计算机问题_mssql学习_编程技术
如何让javascript,操作Cookie_php资料_编程技术
Reading number is top 10 pictures
photos of ashlynn brooke(ashlynn brooke的美图)
美丽的桂林风光2
Sora aoi possession photo1
美丽的风景--让你目瞪口呆
关于海盗的研究
So beauty, will let you spray blood7
西方气质的东方美女3
迷人的靓女
A letter to parents choose world of warcraft seven big reason
PengLiYuan lady for the world health organization fight TB and AIDS goodwill ambassador
Download software ranking
Unix video tutorial4
asp.net技术内幕
WebService在.NET中的实战应用教学视频 → 第5集
Macromedia Dreamweaver 8
Take off clothes to survival
SP4 for SQL2000
Boxer's Top ten classic battle8
Unix video tutorial1
White deer villiage
Tram sex maniac 2 (H) rar bag8
delv published in(发表于) 2014/1/23 3:14:24 Edit(编辑)
在ASP.NET中把图片保存到SQL,SERVER数据库(vb.net)_[Asp.Net教程]

在ASP.NET中把图片保存到SQL,SERVER数据库(vb.net)_[Asp.Net教程]

在ASP.NET中把图片保存到SQL SERVER数据库(vb.net)_[Asp.Net教程]

介绍
在很多情况下,我们需要把图片保存到数据库中。在某些应用程序中,存在一些敏感信息不能被存储到文件系统中,因为存储在文件系统上的任何图片都很容易被用户非法获得。
本文将讨论在ASP.NET中怎样把图片保存到SQL SERVER数据库中。
在本文中我们将了解到以下几方面的内容:
l 上载图片文件的要求
l 使用Strem对象
l 获得上载图片大小和类型
l 如何使用InputStream方法?
上载图片文件的要求
在开始上载前我们需要作两件重要的事情
#Form标记的enctype属性需要被设置为如下形式:
enctype="multipart/form-data"
#提供一个让用户选择图片文件的Html控件:

#还要引用System.IO命名空间来处理Strem对象
上述的三项都要应用到aspx页中。在SQL SERVER中还有以下的一些要求:
#一个至少有一个字段类型为Image的表
#另外有一个用来存储图片类型的Varchar类型的字段就更好了
那么,我们有了一个有Image字段类型的数据表和一个(HTML文件控件)。我们还需要一个提交按钮,当用户选择好图片后可以点击它。在按钮的onClick事件中我们要获得图片文件的内容并最终把它插入到数据表中。让我们来看看按钮的onClick事件,它读取图片并把图片插入到数据表中。
提交按钮的onClick事件代码
http://blog.knowsky.com/
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 控件。首先我们要获得被插入图片的大小,通过如下方法实现:
intImageSize = PersonImage.PostedFile.ContentLength
接着要通过ContenType属性获得图片类型。最后最重要的是要获得图片文件流,通过如下方法实现:
ImageStream = PersonImage.PostedFile.InputStream
我们有一个byte数组ImageContent,准备用来保存图片内容。整个图片通过Stream对象的Read方法读取,这个方法有三个参数,即:
#被复制的图片内容的目标位置
#读的开始位置
#需要被读的子节数
读声明如下:
intStatus = ImageStream.Read(ImageContent, 0, intImageSize)
现在,我们读取了整个图片内容。接着我们需要把图片内容插入SQL数据表中,我们将用用一个存储过程把图片类型和图片插入SQL数据表。如果你看过上面的代码清单,你就知道我们把数据类型设置为SqlDbType.Image.就这样,我们成功地把图片保存到了SQL SERVER数据库。







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.