System.ObjectDisposedException:“无法访问封闭的流。”在iformfile.copyto

问题描述 投票:0回答:2

我有一个情况,我需要从图像创建FormFile,然后我需要从FormFile的Back MemoryStream。文件中的存储器在其他地方。我刚刚将其作为样本来解决这个问题。

private IFormFile ReturnFormFile(Image image, string thumbnailName) { IFormFile file = null; using (MemoryStream ms = new MemoryStream()) { image.Save(ms, ImageFormat.Jpeg); file = new FormFile(ms, 0, ms.Length, "name", thumbnailName); ms.Seek(0, SeekOrigin.Begin); } using (System.IO.MemoryStream memStream = new System.IO.MemoryStream()) { file.CopyTo(memStream);// System.ObjectDisposedException: 'Cannot access a closed Stream.' Byte[] fileData = memStream.ToArray(); } return file; }
请提出任何建议
    

以这种方式:
c# .net-core
2个回答
1
投票
private IFormFile ReturnFormFile(Image image, string thumbnailName) { IFormFile file = null; using (MemoryStream ms = new MemoryStream()) { image.Save(ms, ImageFormat.Jpeg); file = new FormFile(ms, 0, ms.Length, "name", thumbnailName); ms.Seek(0, SeekOrigin.Begin); using (System.IO.MemoryStream memStream = new System.IO.MemoryStream()) { file.CopyTo(memStream);// System.ObjectDisposedException: 'Cannot access a closed Stream.' Byte[] fileData = memStream.ToArray(); } return file; } }

一种简单的方法正在删除

0
投票

// change bellow code // using (MemoryStream ms = new MemoryStream()){} // to MemoryStream ms = new MemoryStream();

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.