Ho qualche problema per caricare il file da Memory Stream al database (è visibile in DB come 0x, quindi suppongo che non venga salvato correttamente). Non sono sicuro che si tratti di un problema con lo streaming in fase di creazione o il salvataggio in db dal flusso dovrebbe essere fatto in modo diverso.Utilizzo di MemoryStream per salvare il file .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();
}
}
Cosa sto facendo di sbagliato? Sto usando la libreria codeplex di Docx.
Grazie. Sapevo che mi mancava qualcosa :-) – MadBoy