net存储PDF、Word和Excel到数据库的案例分析

  介绍

小编给大家分享一下。净存储PDF、Word和Excel到数据库的案例分析,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!

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

代码如下:

创建表文档
  (
  SNo int身份,
  Name_File varchar (100),
  DisplayName varchar (50),
  扩展varchar (10),
  ContentType varchar (200),
  FileData varbinary (max),
  文件大小,长整型数字
  UploadDate datetime
  )

这个表包含了这些数据:

SNo序列号

Name_File文件名

DisplayName文件显示的名称

扩展文件的扩展名

ContentType文件种类

FileData文件二进制格式

文件大小文件大小

UploadDate文件导入时间

。净存储PDF、Word和Excel到数据库的案例分析

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

 . NET存储PDF、Word和Excel到数据库的案例分析

再添加一个新页面,命名为“转换。aspx”

。净存储PDF、Word和Excel到数据库的案例分析

在这个页面我们需要添加文本框,FileUpload,按钮这三个控件。

设计界面如图:

 . NET存储PDF、Word和Excel到数据库的案例分析

当然你也可以在转换。apsx文件直接输入下列代码:

显示文件   & lt; asp:文本框ID=皌xtfilename"runat=皊erver"比;   & lt;/asp: TextBox>   & lt; br/比;      选择文件   & lt; asp: FileUpload ID=癋ileUpload1"runat=皊erver"/比;   & lt; br/比;      & lt; asp:按钮ID=癇utton1"runat=皊erver"   文本=暗既搿?使用系统;   使用包含;   使用System.Data.SqlClient;   使用System.Data;   使用先;

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

代码如下:

保护无效Button1_Click(对象发送方,EventArgs e)
  {
  如果(! FileUpload1.HasFile)
  {
  Response.Write(“未选择文件“);返回;
  }
  其他的
  {
  字符串文件名=Path.GetFileName (FileUpload1.PostedFile.FileName);
  字符串扩展=Path.GetExtension(文件名);
  字符串contentType=FileUpload1.PostedFile.ContentType;
  HttpPostedFile文件=FileUpload1.PostedFile;
  文档byte[]=新的字节(file.ContentLength);
  file.InputStream。读(文档、0 file.ContentLength);//验证保存的文件扩展名是否为pdf,医生,多克斯、xls。
  如果((扩展==?pdf") | |(扩展==?doc") | |(扩展==?docx") | |(扩展==?xls"))
  {//验证文件的大小
  如果文件。ContentLength & lt;=31457280)
  {//表里插入数据
  使用(SqlConnection康涅狄格州=new SqlConnection(“数据源=afod3 - 609221015;初始目录=个人;综合安全=True"))
  {
  conn.Open ();
  字符串sql=@"插入文档(Name_File DisplayName,扩展、ContentType FileData,文件大小,UploadDate)值(@Name_File、@DisplayName @Extension, @ContentType, @FileData, @FileSize,获取当前日期())“;
  康涅狄格州SqlCommand cmd=new SqlCommand (sql);
  
  cmd.Parameters.Add (“@Name_File" SqlDbType.VarChar);
  cmd.Parameters [“@Name_File"]。值=https://www.yisu.com/zixun/filename;
  cmd.Parameters。Add (“@DisplayName SqlDbType.VarChar);
  cmd.Parameters (“@DisplayName”)。值=txtfilename.Text.Trim ();
  cmd.Parameters。Add (“@Extension SqlDbType.VarChar);
  cmd.Parameters (“@Extension”)。值=扩展;
  
  cmd.Parameters。Add (“@ContentType SqlDbType.VarChar);
  cmd.Parameters (“@ContentType”)。值=contentType;
  
  cmd.Parameters。Add (“@FileData SqlDbType.VarBinary);
  cmd.Parameters (“@FileData”)。值=文档;
  
  cmd.Parameters。Add (“@FileSize SqlDbType.BigInt);
  cmd.Parameters (“@FileSize”)。值=document.Length;
  cmd.ExecuteNonQuery ();
  cmd.Dispose ();
  conn.Close ();
  Response.Write(“数据已添加”);
  }
  
  }
  其他的
  {Response.Write(“文件大小无效”);返回;}
  }
  其他的
  {
  Response.Write(“无效文件”);返回;
  }
  }
  }

运行结果如图:

。净存储PDF、Word和Excel到数据库的案例分析

net存储PDF、Word和Excel到数据库的案例分析