CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

您现在的位置: IT专家网 > 数据库子站 > 数据库技巧

SQL Server:存储图片和BLOB文件(四)

作者: cyw,  出处:IT专家网, 责任编辑: 李书琴, 
2008-04-09 08:50
  本文将为大家介绍第二种存储BLOB文件的方法,也就是把BLOB文件存储到Windows文件系统当中,并利用SQL Server从一个网页对这些文件进行管理。

  【IT专家网独家】内容提要

  BLOB文件(二进制大对象)是二进制数据,换而言之,就是非文本数据。像MP3、可执行文件、图片等都是BLOB文件。这些类型的文件通常是大型数据库项目的一个组成部分。问题也就随之而来了:要怎样存储这些文件呢?而将它们存到哪里呢?存在文件系统里还是放到SQL Server数据库内部呢?无论采用哪种存储方法,都有其各自的道理。笼统一点说来,如果文件比较小,就将它们存放在SQL Server数据库内部。而且,支持将二进制数据存储在SQL Server内部的另一个原因是有利于事务控制。例如,如果你在进行下一个处理步骤之前需要确认已经更新或删除了某张图片,那可以通过SQL Server内部控制这些过程。而另一方面,如果二进制文件很大,或者是视频流文件,那存储在Windows的文件系统中比存储在SQL Server内部对数据库的性能更有利。再者,文件系统对碎片的处理要优于SQL Server。

  在本系列的前三篇文章中,主要为大家介绍了如何将BLOB文件存储在SQL Server内部。第一篇文章SQL Server:存储图像和BLOB文件(一)简单介绍了BLOB的定义和VARCHAR的数据类型家族,并讨论了将BLOB插入到SQL Server的一些简单方法。第二篇文章SQL Server:存储图像和BLOB文件(二)介绍了如何利用Response.BinaryWrite将从数据库读出的图片显示到浏览器网页上。在第三篇文章SQL Server:存储图像和BLOB文件(三)中,通过创建ASPX页面来接受来自网页的图片并直接将其存储到SQL Server当中。本文将为大家介绍第二种存储BLOB文件的方法,也就是把BLOB文件存储到Windows文件系统当中,并利用SQL Server从一个网页对这些文件进行管理。

  文件系统实例

  首先,我们要构建一个可以用在前面的文章中所举例子的控件——文件上传(File Upload)控件。该控件可以嵌入到网页当中,并搜集文件信息,例如某测试图片的文件名、目录路径,最终将这些信息传递给SQL Server。具体操作就是,创建一个名为FileSystemIn.aspx的代码分离新页面,将四个控件拖拽到该页面上,包括一个文件上传控件、一个按钮控件(button)和两个标签(label),如下图所示:

  构建文件上传(File Upload)控件

  为了便于解释,在例图上使用的是默认控件名,实际应用中可自行更改。

<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<br />
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
<br />
<br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<br />
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>

  在代码分离页面上,我们将搜集文件名和目录路径,并将它们分别显示到两个标签上。创建点击事件,并插入如下代码:

共4页。 1 2 3 4 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i