ASP.NET保存PDF、Word和Excel文件到数据库

在项目中,有时候我们很需要把PDF、Word和Excel文档等等上传到数据库,以便日后使用。今天这篇文章向大家讲解如何将这些文件保存到数据库的。

详细步骤

第一步:打开数据库,单击新建查询,创建一个名称为Documents的表:

代码如下:

create table Documents
(
SNo int identity,
Name_File varchar(100),
DisplayName varchar(50),
Extension varchar(10),
ContentType varchar(200),
FileData varbinary(max),
FileSize bigint,
UploadDate datetime
)

这个表包含了这些数据:

SNo序列号

Name_File文件名

DisplayName 文件显示的名称

Extension文件的扩展名

ContentType文件种类

FileData文件二进制格式

FileSize文件大小

UploadDate文件导入时间

第二步:打开Visual Studio,新建一个空网站,命名为“FilesToBinary”

第三步:再添加一个新页面,命名为“Conversion.aspx”

在这个页面我们需要添加TextBox ,FileUpload ,Button这三个控件。

设计界面如图:

当然你也可以在Conversion.apsx文件直接输入下列代码:

显示文件
 <asp:TextBox ID="txtfilename" runat="server">
 </asp:TextBox>
<br /> 

选择文件
<asp:FileUpload ID="FileUpload1" runat="server" />
<br /> 

<asp:Button ID="Button1" runat="server"
Text="导入" OnClick="Button1_Click" />

第四步:控件添加后,双击Button,在Conversion.apxs.cs文件添加以下命名空间。

using System;
using System.Web;
using System.Data.SqlClient;
using System.Data;
using System.IO;

然后在Button1_Click编写代码,将文件转换为二进制流,点击Button后文件便可存到数据库中。

代码如下:

protected void Button1_Click(object sender, EventArgs e)
 {
   if (!FileUpload1.HasFile)
  {
   Response.Write("未选择文件"); return;
  }
  else
  {
   string filename = Path.GetFileName(FileUpload1.PostedFile.FileName);
   string extension = Path.GetExtension(filename);
   string contentType = FileUpload1.PostedFile.ContentType;
   HttpPostedFile file = FileUpload1.PostedFile;
   byte[] document = new byte[file.ContentLength];
   file.InputStream.Read(document, 0, file.ContentLength); 

   //验证保存的文件扩展名是否为pdf,doc,docx,xls.
   if ((extension == ".pdf") || (extension == ".doc") || (extension == ".docx") || (extension == ".xls"))
   {
 //验证文件的大小
    if (file.ContentLength <= 31457280)
    {
     //表里插入数据
     using (SqlConnection conn = new SqlConnection("Data Source=AFOD3-609221015;Initial Catalog=Personal;Integrated Security=True"))
     {
      conn.Open();
      string sql = @"insert into Documents(Name_File,DisplayName,Extension,ContentType,FileData,FileSize,UploadDate) values(@Name_File,@DisplayName,@Extension,@ContentType,@FileData,@FileSize,getdate())";
      SqlCommand cmd = new SqlCommand(sql, conn); 

      cmd.Parameters.Add("@Name_File", SqlDbType.VarChar);
      cmd.Parameters["@Name_File"].Value = filename;
      cmd.Parameters.Add("@DisplayName", SqlDbType.VarChar);
      cmd.Parameters["@DisplayName"].Value = txtfilename.Text.Trim();
      cmd.Parameters.Add("@Extension", SqlDbType.VarChar);
      cmd.Parameters["@Extension"].Value = extension; 

      cmd.Parameters.Add("@ContentType", SqlDbType.VarChar);
      cmd.Parameters["@ContentType"].Value = contentType; 

      cmd.Parameters.Add("@FileData", SqlDbType.VarBinary);
      cmd.Parameters["@FileData"].Value = document; 

      cmd.Parameters.Add("@FileSize", SqlDbType.BigInt);
      cmd.Parameters["@FileSize"].Value = document.Length;
      cmd.ExecuteNonQuery();
      cmd.Dispose();
      conn.Close();
      Response.Write("数据已添加");
     } 

    }
    else
    { Response.Write("文件大小无效"); return; }
   }
   else
   {
    Response.Write("无效文件"); return;
   }
  }
}

运行结果如图:

这时浏览文件夹,就可以添加我们的文件了。点击导入,成功添加。

如果选择了不符合规则的文件后,则会显示:

返回数据库,这时PDF、Word 和Excel文件已经成功添加到数据库啦。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • ASP.NET MVC 项目直接预览PDF文件

    背景及需求 项目使用的是MVC4框架,其中有一个功能是根据设置生成PDF文件,并在点击时直接预览. 实现过程 1.第一版实现代码: HTML内容 @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> &

  • ASP.NET实现将word文档转换成pdf的方法

    本文实例讲述了ASP.NET实现将word文档转换成pdf的方法,分享给大家供大家参考.具体实现步骤如下: 一.添加引用 复制代码 代码如下: using Microsoft.Office.Interop.Word; 二.转换方法   1.方法 复制代码 代码如下: /// <summary>     /// 把Word文件转换成pdf文件     /// </summary>     /// <param name="sourcePath">需要转

  • Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码)

    1.功能说明 输入文件路径,在浏览器输出文件预览信息,经测试360极速(Chrome).IE9/10.Firefox通过 2.分类文件及代码说明 DemoFiles 存放可测试文件 Default.aspx  启动页 ExcelPreview.cs  Excel预览类 public static void Priview(System.Web.UI.Page p, string inFilePath, string outDirPath = "") { Microsoft.Office

  • asp.net 按指定模板导出word,pdf实例代码

    复制代码 代码如下: /// <summary>        /// 导出word文件        /// </summary>        /// <param name="templateFile">模板路径</param>        /// <param name="fileNameWord">导出文件名称</param>        /// <param name=&q

  • asp.net实现将ppt文档转换成pdf的方法

    本文实例讲述了asp.net实现将ppt文档转换成pdf的方法.分享给大家供大家参考.具体实现方法如下: 一.添加引用 复制代码 代码如下: using Microsoft.Office.Core; using Microsoft.Office.Interop.PowerPoint; 二.转换方法 复制代码 代码如下: ///<summary>        /// 把PowerPoint文件转换成PDF格式文件       ///</summary>        ///<

  • ASP.NET保存PDF、Word和Excel文件到数据库

    在项目中,有时候我们很需要把PDF.Word和Excel文档等等上传到数据库,以便日后使用.今天这篇文章向大家讲解如何将这些文件保存到数据库的. 详细步骤 第一步:打开数据库,单击新建查询,创建一个名称为Documents的表: 代码如下: create table Documents ( SNo int identity, Name_File varchar(100), DisplayName varchar(50), Extension varchar(10), ContentType va

  • 利用POI读取word、Excel文件的最佳实践教程

    前言 POI是 Apache 旗下一款读写微软家文档声名显赫的类库.应该很多人在做报表的导出,或者创建 word 文档以及读取之类的都是用过 POI.POI 也的确对于这些操作带来很大的便利性.我最近做的一个工具就是读取计算机中的 word 以及 excel 文件. POI结构说明 包名称说明 HSSF提供读写Microsoft Excel XLS格式档案的功能. XSSF提供读写Microsoft Excel OOXML XLSX格式档案的功能. HWPF提供读写Microsoft Word

  • Python办公自动化Word转Excel文件批量处理

    目录 前言 首先使用Python将Word文件导入 row和cell解析所需内容 内层解析循环 前言 大家好,今天有一个公务员的小伙伴委托我给他帮个忙,大概是有这样一份Word(由于涉及文件私密所以文中的具体内容已做修改) 一共有近2600条类似格式的表格细栏,每个栏目包括的信息有: 日期 发文单位 文号 标题 签收栏 需要提取其中加粗的这三项内容到Excel表格中存储,表格样式如下: 也就是需要将收文时间.文件标题.文号填到指定位置,同时需要将时间修改为标准格式,如果是完全手动复制和修改时间,

  • ASP.NET中上传并读取Excel文件数据示例

    在CSDN中,经常有人问如何打开Excel数据库文件.本文通过一个简单的例子,实现读取Excel数据文件. 首先,创建一个Web应用程序项目,在Web页中添加一个DataGrid控件.一个文件控件和一个按钮控件. 复制代码 代码如下: <INPUT id="File1" type="file" name="File1" runat="server"> <asp:Button id="Button1&

  • Pandas实现Excel文件读取,增删,打开,保存操作

    目录 前言 一.Pandas 的主要函数包括 二.使用步骤 1.简单示例 2.保存Excel操作 3.删除和添加数据 4.添加新的表单 前言 Pandas 是一种基于 NumPy 的开源数据分析工具,用于处理和分析大量数据.Pandas 模块提供了一组高效的工具,可以轻松地读取.处理和分析各种类型的数据,包括 CSV.Excel.SQL 数据库.JSON 等格式的数据. 一.Pandas 的主要函数包括 pd.read_csv() / pd.read_excel() / pd.read_sql(

  • C#/VB.NET 将Word与Excel文档转化为Text

    目录 前言 安装DLL文件 使用C#和VB.NET将Word文件转化为Text 使用C#和VB.NET将Excel文件转化为Text 前言 Text文件只由纯文本内容组成,且没有格式,所以其大小比Word或Excel文件更小.除此之外,Text文件还具有跨平台性,几乎与所有应用程序都兼容.因此,在某些时候,我们可能需要将Word或Excel文件转换为Text.接下来,我将介绍如何使用C#和VB.NET将Word或Excel文件转换为Text. 安装DLL文件 在此篇文章中,我所用到的是 Spir

  • C#仪器数据文件解析Excel文件的方法浅析(xls、xlsx)

    前言 大家都知道,不少仪器工作站可xls文件和2007+的xl以将数据导出为Excel文件,包括97-2003版本的sx文件. 采集Excel文件相比采集pdf文件更容易.程序更健壮,毕竟Excel中数据有明确的行.列的定义,利于数据解析. Excel早期的xls文件和后来的xlsx文件的格式不一样,xls是二进制特定格式文件,xlsx是zip压缩包,其中数据使用xml定义.虽然两种文件格式定义不同,但解析文件数据可以通过中间件,因此只要理解了Excel文件的工作簿.sheet页.行.列.单元格

  • .NET读写Excel工具Spire.Xls使用 Excel文件的控制(2)

    前一篇文章:" .NET操作Excel利器Spire.Xls使用(1)入门介绍 "给大家介绍了Spire.XLS的基本功能和一些比较.这篇文章将重点介绍C#操作Excel文件时,对Excel文件本身的相关设置,全局控制的内容.因为这也是C#读写Excel文件时经常碰到的文章,也是我在使用过程中的一个学习步骤.本文将首先介绍Spire.XLS创建和加载文档的基础知识,以及文件保存,多个Excel文件合并的操作方法,其中我们还可以对生成的Excel文件做更多详细的设置,如,对Excel文件

  • 使用Python读取和修改Excel文件(基于xlrd、xlwt和openpyxl模块)

    目录 1.使用xlrd模块对xls文件进行读操作 1.1 获取工作簿对象 1.2 获取工作表对象 1.3 获取工作表的基本信息 1.4 按行或列方式获得工作表的数据 2.使用xlwt模块对xls文件进行写操作 2.1 创建工作簿 2.2 创建工作表 2.3 按单元格的方式向工作表中添加数据 2.4 按行或列方式向工作表中添加数据 2.5 保存创建的文件 3.使用openpyxl模块对xlsx文件进行读操作 3.1 获取工作簿对象 3.2 获取所有工作表名 3.3 获取工作表对象 3.5 获取工作

  • Java实现上传Excel文件并导入数据库

    目录 Java实现上传Excel文件并导出到数据库 1.导入依赖 2.domain 3.utils 4.Controller 5.xml Java实现上传Excel文件并导出到数据库 1.导入依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </de

随机推荐