ASP.NET怎么向SQLServer2008导入文件

58次阅读
没有评论

共计 3048 个字符,预计需要花费 8 分钟才能阅读完成。

本篇内容主要讲解“ASP.NET 怎么向 SQLServer2008 导入文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“ASP.NET 怎么向 SQLServer2008 导入文件”吧!

ASP.NET 向 SQL Server 导入文件主要用到 FileUpload 控件的 FileBytes 属性。该属性从 FileUpload 控件所指定的文件返回一个字节数组。

 1. 数据库准备 为了方便大家能够理解,这里我们只设计两个字段,一个是文件类型字段,字段名为 FileType,另一个是存放文件内容字段,字段名为 FileContent。创建数据库,数据库名为 VarFile,语句如下:CREATE DATABASE VARFILE GO 创建表,表名为 FileInOut, 语句如下:USE VARFILE GO CREATE TABLE FILEINTOU (FileType nvarchar(30) not null, FileContent varbinary(max) null ) 

2. 添加控件 运行 VS2008 并新建一个网站,在页面 Default.aspx 中添加一个 FileUpload 控件,ID 为 FileUpload1. 同时添加三个 Button 按钮,ID 分别为 fileUp 和 fileLoad。Text 属性分别设置为“上传文件”和“下载文件”。 

3. 添加代码  

(1) 添加命名空间,因为和 SQL Server 数据库连接,所以添加 using System.Data.Sqlclient 和 using System.Data 命名空间。又因为要设置输出流的 HTTP 的字符集为 gb2312 字符编码,所以添加 using System.Text 命名空间。同时又因为要把导出文件强类型化为字符串,所以添加 using System.Collections.Specialized 命名空间。 

(2) 添加“上传文件”按钮的事件代码。当单击“上传文件”按钮后,获取 FileUpload 控件所选择的文件的文件类型以及文件的字节数组插入数据库中。切换到设计视图,双击“上传文件”按钮,添加 上传文件 按钮事件代码,代码如下:复制代码 代码如下:
protected void fileUp_Click(object sender,EventArgs e) {if(FileUpload1.FileName==string.Empty) {Response.Write( script altert(‘请选择要上传的文件) /script return; } string mailto:connstr=@%22Data Source=69F638102711447\SQL2008;Initial Catalog=VarFile;Integrated Security=Ture // 数据库连接字符串 string the Selected=FileUpload1.FileName; // 获取上传文件的后缀名 string extension=theSelected.Substring(theSelected.LastIndexOf( .)).ToLower(); if(CheckFileType(extension)) // 如果有指定的文件类型 {string contentType=GetContentType(extension); string sqlstr= insert into FileInOut values(@FileType,@FileCount) // 上传文件的 SQL 语句 string sqlstrclear= truncate table FileInOut // 清空数据库 SQL 语句 SqlConnection con=new SqlConnection(connstr); // 实例化数据库连接对象 SqlCommand cmd=new SqlCommand(sqlstr,con); // 实例化上传文件 SQL 命令 SqlCommand cmdclear=new SqlCommand(sqlstrclear,con); // 实例化清空数据库 SQL 命令 // 定义问价类型参数 cmd.Parameters.Add(new SqlParameter( @FileType”,SlqDbType.NvarChar,30));cmd.Parameters[@FileType].Value=contentType; // 定义文件内容参数 cmd.Parameters.Add(new SqlParameter( @FileCount ,SqlDbType.NVarChar,30)); // 将文件转化为字节数组作为 @FileCount 的值 cmd.Parameters[@FileCount].Value=FileUpload1.FileBytes; con.Open(); cmdclear.ExecuteNonQuery(); // 执行清空数据库命令 cmd.ExecuteNonQuery(); // 执行上传文件命令} }

(3) 添加获取文件类型和获得文件导出方式的函数方法。首先查看所要上传文件类型是否在指定问价类型内,如果在,则可以直接导入文件,然后根据文件类型 获取此文件导出方式并存放在 FileType 字段中,代码如下:复制代码 代码如下:
public static bool CheckFileType(string type) {StringDictionary sd=new StringDictionary(); // 实例化集合 StringDictionary 类 sd.Add(.doc , application/msword sd.Add( .ppt , application/vnd.ms-powerpoint sd.Add( .xsl , application/vnd.ms-excel sd.Add( .rtf , application/msword sd.Add( .html , text/html sd.Add( .htm , text/html sd.Add( .txt , text/plain sd.Add( .pdf , application/pdf return sd.ContainsKey(type); // 确定 StringDictionary 是否包含特定键 } public static string GetContentType(string extension) // 获取输出文件方式 {StringDictionary sd=new StringDictionary(); sd.Add(.doc , application/msword sd.Add( .ppt , application/vnd.ms-powerpoint sd.Add( .xsl , application/vnd.ms-excel sd.Add( .rtf , application/msword sd.Add( .html , text/html sd.Add( .htm , text/html sd.Add( .txt , text/plain sd.Add( .pdf , application/pdf return sd[extension]; // 返回对应键的值 }

(4) 上传文件,选择一个 pdf 文件,单击 上传文件 按钮后,打开数据库中的 FileInOut 表,如图所示可以看到。

到此,相信大家对“ASP.NET 怎么向 SQLServer2008 导入文件”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-01发表,共计3048字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)