Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung, wie .NET PDF, Word und Excel in Datenbanken speichert

Detaillierte Erklärung, wie .NET PDF, Word und Excel in Datenbanken speichert

Y2J
Y2JOriginal
2017-05-13 11:48:272153Durchsuche

Dieser Artikel stellt hauptsächlich die relevanten Informationen von ASP.NET zum Speichern von PDF-, Word- und Excel-Dateien in der Datenbank vor. Er hat einen gewissen Referenzwert.

In Projekten kann er manchmal nachschlagen Wir müssen PDF-, Word- und Excel-Dokumente usw. zur späteren Verwendung in die Datenbank hochladen. Im heutigen Artikel erfahren Sie, wie Sie diese Dateien in der Datenbank speichern.

Detaillierte Schritte

Schritt 1: Öffnen Sie die Datenbank, klicken Sie auf Neu Abfrage, Erstellen eine Tabelle mit dem Namen Dokuments:

Der Code lautet wie folgt:


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 
)

Diese Tabelle enthält diese Daten:

SNo-Seriennummer

Name_File-Dateiname

DisplayName-Dateianzeigename

Erweiterungsdateierweiterung

ContentType-Dateityp

Binärformat der FileData-Datei

FileSize-Dateigröße

UploadDate-Dateiimportzeit

Zweiter Schritt: Öffnen Sie Visual Studio, erstellen Sie eine neue leere Website und nennen Sie sie „FilesToBinary“.

Schritt 3: Fügen Sie eine hinzu Neue Seite und nennen Sie sie „Conversion.aspx“

Auf dieser Seite müssen wir die drei Steuerelemente hinzufügen: TextBox, FileUpload und Button.

Die Designoberfläche sieht wie folgt aus:

Natürlich können Sie den folgenden Code auch direkt in die Datei Conversion.apsx eingeben:


显示文件
 <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" />

Schritt 4: Nachdem das Steuerelement hinzugefügt wurde, doppelklicken Sie auf die Schaltfläche und fügen Sie den folgenden Namespace zur Datei Conversion.apxs.cs.


using System;
using System.Web;
using System.Data.SqlClient;
using System.Data;
using System.IO;
Schreiben Sie dann Code in Button1_Click, um die Datei in einen Binärstream zu konvertieren. Nach dem Klicken auf die Schaltfläche kann die Datei in der Datenbank gespeichert werden.

Der Code lautet wie folgt:



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; 
   } 
  } 
}
Das Laufergebnis ist wie in der Abbildung dargestellt:

Durchsuchen Sie nun den Ordner und fügen Sie unsere Dateien hinzu. Klicken Sie auf „Importieren“, um den Eintrag erfolgreich hinzuzufügen.

Wenn eine Datei ausgewählt wird, die den Regeln nicht entspricht, wird sie angezeigt:

Zurück zur Datenbank, dann wurden PDF-, Word- und Excel-Dateien erfolgreich zur Datenbank hinzugefügt.

【Verwandte Empfehlungen】

1.

Besondere Empfehlung: "PHP-Programmierer-Tools" Download der Version „Box“ V0.1

2.

Kostenloses ASP-Video-Tutorial

3.

ASP-Tutorial

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie .NET PDF, Word und Excel in Datenbanken speichert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn