У меня есть некоторые проблемы с загрузкой файла из потока памяти в базу данных (это видно в DB как 0x, поэтому я думаю, что он не сохраняется должным образом). Я не уверен, что проблема с созданием Stream или сохранением в db из потока должна выполняться по-другому.Использование MemoryStream для сохранения файла .docx 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();
}
}
Что я делаю неправильно? Я использую библиотеку Docx codeplex.
спасибо. Я знал, что чего-то не хватает :-) – MadBoy