Skopiuj MemoryStream do FileStream i zapisz plik?
Nie rozumiem, co tu źle robię. Generuję kilka strumieni pamięci, aw trybie debugowania widzę, że są wypełnione. Ale kiedy próbuję skopiowaćMemoryStream
doFileStream
w celu zapisania plikufileStream
nie jest wypełniony, a plik ma długość 0 bajtów (pusty).
Oto mój kod
if (file.ContentLength > 0)
{
var bytes = ImageUploader.FilestreamToBytes(file); // bytes is populated
using (var inStream = new MemoryStream(bytes)) // inStream is populated
{
using (var outStream = new MemoryStream())
{
using (var imageFactory = new ImageFactory())
{
imageFactory.Load(inStream)
.Resize(new Size(320, 0))
.Format(ImageFormat.Jpeg)
.Quality(70)
.Save(outStream);
}
// outStream is populated here
var fileName = "test.jpg";
using (var fileStream = new FileStream(Server.MapPath("~/content/u/") + fileName, FileMode.CreateNew, FileAccess.ReadWrite))
{
outStream.CopyTo(fileStream); // fileStream is not populated
}
}
}
}