多语言展示
当前在线:760今日阅读:193今日分享:47

SQL 数据库文件上传和下载

本经验将总结前期资料查询和技术学习成果,记录通过Web网页向SQL数据库中上传任意类型文件的实现方法,以及通过Web网页从SQL数据库中下载文件的方法。上传到SQL数据中的文件将以二进制的形式存储,下载到本地时二进制文件将自动转换为原有文件类型。下面将记录从零开始实现上述功能的方法。
上传文件到SQL数据库
1

在SQL Server Management Studio中新建数据库:打开SQL Server Management Studio,新建数据库并命名为“GIS”,向GIS数据库中添加新表,命名为“file”。

2

为file表设置字段,如图所示。

3

其相应的create语句见图。

4

向数据库中添加存储过程:依然在SQL Server Management Studio中进行操作,点击“新建查询”按钮,复制的代码到其中,运行之后即完成存储过程Uploadfile的创建。

5

在VS2010中新建网站:以管理员身份运行Microsoft Visual Studio 2010,新建“ASP.NET网站”。向Default.aspx中添加FileUpload控件、Button控件、GridView控件,如图所示。然后将Button控件的ID属性更改为btn_Upload,Text属性更改为“上传”;将FileUpload控件的ID属性更改为fileUpload。

6

为GridView控件配置数据源:点击GridView控件右上角的小按钮,为GridView控件配置数据源,将其数据源配置为GIS数据库file表。

7

为“上传”按钮添加click事件:前面步骤中,已经将“上传”按钮的ID属性更改为btn_Upload,现在为其添加click事件,并添加如图所示代码

8

至此,文件上传功能已经实现,已经可以将用户本地的文件上传到SQL数据,并以二进制的形式存储。

从SQL中下载文件
1

为GridView添加新列:为GridView添加新列,按照图所示设置新列的属性。

2

添加完成之后,使用使用GridView的“编辑列”功能,将新列的CommandName属性修改为“Download”。

3

为GridView控件添加RowCommand事件:打开GridView控件的属性面板,添加RowCommand事件,并命名为OnRowCommand,并为OnRowCommand事件写入如图所示的代码,代码含义已详细解释。

4

至此,文件上传至SQL数据库(以二进制的形式保存)和文件下载两大功能已经全部实现,需要注意的是本节记录的所有代码均是最核心的代码,没有考虑异常处理,比如数据库打开失败等,也没有对代码进行足够多的测试。功能实现的截图见。

5

需要补充说明的是,尽管我在SQL Server Management Studio的表格中设计了FileKey字段,但是在并没有使用GridView显示FileKey字段。

6

补充,后来发现如果不在GridView显示主键,那么将无法启用GridView的编辑和删除功能。

推荐信息