[ 来源:http://www.it55.com | 作者: | 时间:2007-08-26 | 收藏 | 推荐 ] 【大 中 小】
一、 引言
在构建数据驱动的应用程序时,经常需要捕获文本和二进制数据。这样的程序可能需要存储图像,PDF,Word文件或其它二进制数据。能够使用两种方式来存储这些二进制数据:存储在web服务器的文件系统上并添加一个对数据库中相应文件的引用;或直接存储在数据库本身。
文本数据,例如字符串,数字,日期,GUID,货币值,等等-在数据库系统中都有适当的和相应的数据类型定义。例如,在Microsoft SQL Server中,你可以使用int数据类型来存储一个整数值;而为了存储一个字符串值,你可以使用一个varchar或nvarchar类型。另外,数据库还提供了用于存储二进制数据的类型定义。在Microsoft SQL SERVER 2000及早期版本中,使用image数据类型来存储二进制数据;而在SQL SERVER 2005中,使用varbinary(MAX)数据类型。使用上面两种方式中的任何一种,这些数据类型都能够存储可达2GB大小的二进制数据。
不过,当直接把二进制数据存储在数据库时,需要增加一些额外工作来实现插入、更新和检索二进制数据。幸好,我们可以通过更高级的数据存取库-例如ADO.NET-对这种复杂的低级T-SQL操作加以抽象,从而使问题变得相当简单。然而,通过ADO.NET方式使用二进制数据与使用文本数据的确有点不同。在本文中,我们将分析如何使用ADO.NET和ASP.NET 2.0 SqlDataSource控件直接通过一个数据库来存储和检索图像文件。请接着往下阅读!
http://www.it55.com
精美商业网页模版下载http://www.it55.com
四、 上传一个图像并使用ADO.NET代码存储二进制数据
这个图像画廊允许访问者上传图片文件(GIF,JPG和PNG格式)到这个应用程序中。一旦上传,一个新的记录将被添加到Pictures表格并且该图像文件的内容即被存储在新的记录的ImageData列内。为了实现在ASP.NET 2.0中把文件从web浏览器端上传到web服务器,本示例中使用了FileUpload控件。FileUpload控件的使用方法是很简单的事情-只需要把它从工具栏拖动到你的页面上即可。最终,这个FileUpload控件将在用户的浏览器端生成为标准的文件上传形式-一个"Browse"按钮(当点击它时)允许用户从他们的硬盘中选择一个文件上传到web服务器。
例如,为了创建一个接口以实现添加一个新的图像,我使用一个TextBox控件来捕获图片的标题,还有一个FileUpload控件用于允许用户指定要上传的图像:
| 以下为引用的内容: <b>Title:</b> <asp:TextBox ID="PictureTitle" runat="server" /> <br /> <b>Picture:</b> <asp:FileUpload ID="UploadedFile" runat="server" /> <br /> <asp:LinkButton ID="btnInsert" runat="server" Text="Insert" /> <asp:LinkButton ID="btnCancel" runat="server" Text="Cancel" /> |
(编辑:IT资讯之家 www.it55.com)