Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Hochladen von Dokumenten in SQL Server 2008 mit asp.net C #

Dieses Tutorial sollte für jede Datei funktionieren, nicht nur für Excel. Der Schlüssel ist in diesem Teil:

Stream fs = FileUpload1.PostedFile.InputStream;
BinaryReader br = new BinaryReader(fs);  //reads the   binary files
Byte[] bytes = br.ReadBytes((Int32)fs.Length);  //counting the file length into bytes
query = "insert into Excelfiledemo(Name,type,data)" + " values (@Name, @type, @Data)"; //insert query
com = new SqlCommand(query, con);
com.Parameters.Add("@Name", SqlDbType.VarChar).Value = filename1;
com.Parameters.Add("@type", SqlDbType.VarChar).Value = type;
com.Parameters.Add("@Data", SqlDbType.Binary).Value = bytes;
com.ExecuteNonQuery();
Label2.ForeColor = System.Drawing.Color.Green;
Label2.Text = "File Uploaded Successfully";

Was hier im Grunde passiert, ist, dass der Dateistream in ein Byte-Array umgewandelt wird, das als Datenblob in Ihrer Datenbank gespeichert wird. Dies kann für ALLE Dateitypen verwendet werden. Achten Sie nur darauf, den Dateinamen (oder zumindest die Erweiterung) wie im obigen Beispiel beizubehalten, damit Sie wissen, um welche Art von Datei es sich handelt, wenn Sie sie wieder in eine Datei auf der Festplatte umwandeln.