J'ai des problèmes pour télécharger un fichier depuis le flux de mémoire vers la base de données (il est visible dans DB comme 0x, donc je suppose qu'il n'est pas enregistré correctement). Je ne suis pas sûr que ce soit un problème avec Stream en cours de création ou enregistrer en DB à partir de flux devrait être fait différemment.Utilisation de MemoryStream pour enregistrer le fichier .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();
}
}
Qu'est-ce que je fais mal? J'utilise la bibliothèque Docx codeplex.
Merci. Je savais qu'il me manquait quelque chose :-) – MadBoy