Estoy usando DotNetZip para agregar un archivo de MemoryStream
a un archivo zip y luego guardarlo como MemoryStream
para poder enviarlo por correo electrónico como un archivo adjunto. El código siguiente no se equivoca, pero el MemoryStream
no se debe hacer bien porque no se puede leer. Cuando guardo el archivo zip en mi disco duro, todo funciona perfectamente, pero no cuando intento guardarlo en una transmisión.DotNetZip Guardar en la corriente
using (ZipFile zip = new ZipFile())
{
var memStream = new MemoryStream();
var streamWriter = new StreamWriter(memStream);
streamWriter.WriteLine(stringContent);
streamWriter.Flush();
memStream.Seek(0, SeekOrigin.Begin);
ZipEntry e = zip.AddEntry("test.txt", memStream);
e.Password = "123456!";
e.Encryption = EncryptionAlgorithm.WinZipAes256;
var ms = new MemoryStream();
ms.Seek(0, SeekOrigin.Begin);
zip.Save(ms);
//ms is what I want to use to send as an attachment in an email
}
SI el flujo de memoria es comprimido, ¿no esperaría que fuera ilegible? –
¿Ha intentado guardar la secuencia de la memoria en un archivo y ha verificado que la información de ese archivo difiere del archivo cuando la guarda en un archivo directamente desde ZipFile? – erikH
Sam Estoy: estoy tomando la secuencia de la memoria y enviándola como un archivo adjunto llamado test.zip. Luego lo conseguí, pensé que debería poder tratarlo como un archivo zip normal. ¿Me equivoco al pensar esto? – user229133