Maison  >  Article  >  développement back-end  >  Explication détaillée de la façon dont .NET stocke les PDF, Word et Excel dans des bases de données

Explication détaillée de la façon dont .NET stocke les PDF, Word et Excel dans des bases de données

Y2J
Y2Joriginal
2017-05-13 11:48:272174parcourir

Cet article présente principalement les informations pertinentes d'ASP.NET pour enregistrer en détail les fichiers PDF, Word et Excel dans la base de données. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Dans les projets, parfois. nous devons télécharger des documents PDF, Word et Excel, etc. dans la base de données pour une utilisation future. L'article d'aujourd'hui vous expliquera comment enregistrer ces fichiers dans la base de données.

Étapes détaillées

Étape 1 : Ouvrez la base de données, cliquez sur Nouvelle Requête, Créer une table nommée Documents :

Le code est le suivant :


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 
)

Cette table contient ces données :

SNo numéro de série

Nom du fichier Name_File

DisplayName Nom d'affichage du fichier

Extension de fichier d'extension

Type de fichier ContentType

Format binaire du fichier FileData

Taille du fichier FileSize

Heure d'importation du fichier UploadDate

Deuxième étape : Ouvrez Visual Studio, créez un nouveau site Web vide, nommez-le "FilesToBinary"

Étape 3 : Ajoutez un nouvelle page et nommez-la "Conversion.aspx"

Dans cette page, nous devons ajouter les trois contrôles : TextBox, FileUpload et Button.

L'interface de conception est la suivante :

Bien sûr, vous pouvez également saisir le code suivant directement dans le fichier 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" />

Étape 4 : Une fois le contrôle ajouté, double-cliquez sur le bouton et ajoutez l'espace de noms au fichier Conversion.apxs.cs.


using System;
using System.Web;
using System.Data.SqlClient;
using System.Data;
using System.IO;
Ensuite, écrivez le code dans Button1_Click pour convertir le fichier en flux binaire. Après avoir cliqué sur le bouton, le fichier peut être enregistré dans la base de données.

Le code est le suivant :



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; 
   } 
  } 
}
Le résultat de l'exécution est tel qu'indiqué sur la figure :

Parcourez maintenant le dossier et ajoutez nos fichiers. Cliquez sur Importer pour ajouter avec succès.

Si un fichier ne respectant pas les règles est sélectionné, il sera affiché :

Retour au base de données, puis les fichiers PDF, Word et Excel ont été ajoutés avec succès à la base de données.

【Recommandations associées】

1

Recommandation spéciale : "outils de programmation php" Téléchargement de la version Box" V0.1

2.

Tutoriel vidéo gratuit ASP

3.

Tutoriel ASP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn