System.ObjectDisposedException: 'Cannot access a closed Stream.' 在 IFormFile.CopyTo
System.ObjectDisposedException: 'Cannot access a closed Stream.' in IFormFile.CopyTo
我有一种情况需要从图像创建 FormFile,然后我需要从 FormFile 返回 MemoryStream。来自文件的 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;
}
有什么建议吗
试试这个方法:
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;
}
}
我有一种情况需要从图像创建 FormFile,然后我需要从 FormFile 返回 MemoryStream。来自文件的 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;
}
有什么建议吗
试试这个方法:
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;
}
}