日期:2011-08-16 浏览次数:20456 次
本文通过一个实例概要讲解如何在ASP.NET程序中配合SQL Server2000进行word文件的存储和调用过程(没有使用VBA )。
(1) 建立数据库
首先,我们在数据库中建立一个表,表中有三个字段,fileName(varchar,50),postTime(datetime,8), fileContent(image,16),分别存储文件名称,上传时间和word文件的具体内容,其中fileName为主键。具体的SQL脚本如下:
CREATE TABLE [dbo].[word] (
[fileName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[postTime] [datetime] NOT NULL ,
[fileContent] [image] NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
(2) 上传并存储word文件
在VS.NET中建立一个ASP.NET web应用程序,在界面内加入如下控件
控件类型 | ID | Text | 说明 |
Label | Label1 | 请输入文档的标题 | |
Label | Label2 | 请选择具体文档 | |
File Field | File1 | 上传控件(要将此HTML控件转化为服务器控件) | |
TextBox | name_TextBox | 用于录入文档标题 | |
Button | Btn_OK | 上传文件 | |
Button | Btn_get | 读取文件 | |
HyperLink | HyperLink1 | 打开 | 用于打开word文档 |
上传文件时首先通过上传控件找到所需上传的文件,然后获取文件的大小,最后以流的形式写入数据库,具体代码为:
private void Btn_OK_Click(object sender, System.EventArgs e)
{
string name=name_TextBox.Text;
//接收上传文件
Stream fileStream=File1.PostedFile.InputStream;
//获取上传文件字节的大小
int length=File1.PostedFile.ContentLength;
byte[] wordData=new byte[length];
//从流中读取字节并写入wordData
int n=fileStream.Read(wordData,0,length);
//获取当前时间
DateTime time=DateTime.Now;
&nbs