1. Schreiben Sie die Datei im Binärstream-Format in die Datenbank.
Erstens den Dateipfad abrufen, dann die Datei im Binärformat lesen und in einem Binärarray speichern, eine Verbindung mit der Datenbank herstellen und eingeben Weisen Sie das binäre Array dem entsprechenden Parameter zu, um den Schreibvorgang der Datei in die Datenbank abzuschließen
/// 将文件流写入数据库 /// </summary> /// <param name="filePath">存入数据库文件的路径</param> /// <param name="id">数据库中插入文件的行标示符ID</param> /// <returns></returns> public int UploadFile(string filePath, string id) { byte[] buffer = null; int result = 0; if (!string.IsNullOrEmpty(filePath)) { String file = HttpContext.Current.Server.MapPath(filePath); buffer = File.ReadAllBytes(file); using (SqlConnection conn = new SqlConnection(DBOperator.ConnString)) { using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = "update DomesticCompanyManage_Main_T set ZBDocumentFile = @fileContents where MainID ='" + id + "'";; cmd.Parameters.AddRange(new[]{ new SqlParameter("@fileContents",buffer) }); conn.Open(); result = cmd.ExecuteNonQuery(); conn.Close(); } } return result; } else return 0; }
2. Lesen Sie die Datei aus der Datenbank und erstellen Sie eine Datei im entsprechenden Format
Aus der Datenbank Um eine Datei zu lesen, erstellen Sie einfach die entsprechende Datei entsprechend dem erforderlichen Pfad und schreiben Sie dann den in der Datenbank gespeicherten Binärstrom in die neue Datei
Wenn sich eine Datei mit demselben Namen in der befindet Verzeichnis, die Originaldatei überschreibt
//从数据库中读取文件流 //shipmain.Rows[0]["ZBDocument"],文件的完整路径 //shipmain.Rows[0]["ZBDocumentFile"],数据库中存放的文件流 if (shipmain.Rows[0]["ZBDocumentFile"] != DBNull.Value) { int arraySize = ((byte[])shipmain.Rows[0]["ZBDocumentFile"]).GetUpperBound(0); FileStream fs = new FileStream(HttpContext.Current.Server.MapPath(shipmain.Rows[0]["ZBDocument"].ToString()), FileMode.OpenOrCreate, FileAccess.Write);//由数据库中的数据形成文件 fs.Write((byte[])shipmain.Rows[0]["ZBDocumentFile"], 0, arraySize); fs.Close(); }