Ich habe Probleme, Datei aus dem Speicher-Stream in die Datenbank hochzuladen (es ist in DB als 0x sichtbar, also denke ich, es wird nicht richtig gespeichert). Ich bin mir nicht sicher, ob es ein Problem mit Stream ist, der erstellt wird, oder das Speichern in db vom Stream sollte anders gemacht werden.Verwenden von MemoryStream zum Speichern von .docx-Datei C#
private void test {
byte[] storage = new byte[500000];
using (MemoryStream stream = new MemoryStream(storage))
DocX documentWord = DocX.Create(stream);
// some stuff
documentWord.Save();
databaseFilePut(stream);
}
public static void databaseFilePut(MemoryStream stream) {
byte[] file;
using (var reader = new BinaryReader(stream)) {
file = reader.ReadBytes((int) stream.Length);
// reader.Close();
}
//stream.Close();
//}
using (var varConnection = Locale.sqlConnectOneTime(Locale.sqlDataConnectionDetailsDZP))
using (var sqlWrite = new SqlCommand("INSERT INTO Raporty (RaportPlik) Values(@File)", varConnection)) {
sqlWrite.Parameters.Add("@File", SqlDbType.VarBinary, file.Length).Value = file;
sqlWrite.ExecuteNonQuery();
}
}
Was mache ich falsch? Ich benutze Docx Codeplex-Bibliothek.
Vielen Dank. Ich wusste, dass mir etwas fehlte :-) – MadBoy