我用这段代码改变了图像的大小。但是这个方法返回FileStreamResult
。我想将FileStreamResult
转换为IFromFile
。我怎么能这样做?
注意:我使用this来更改图片大小
public FileStreamResult ChangeSize(IFormFile file)
{
using (var img = System.Drawing.Image.FromStream(file.OpenReadStream()))
{
Stream ms = new MemoryStream(img.Resize(100, 100).ToByteArray());
return new FileStreamResult(ms, "image/jpg");
}
}
答案 0 :(得分:3)
这适用于文件,但似乎无法复制其他数据,例如内容类型
public IFormFile GetFormFile(FileStreamResult fsr)
{
using (var fs = fsr.FileStream)
{
file = new FormFile(fs, 0, fs.Length, "name", fsr.FileDownloadName);
}
}
答案 1 :(得分:0)
这应该处理将FileStreamResult转换为FormFile:
public IFormFile ReturnFormFile(FileStreamResult result)
{
var ms = new MemoryStream();
try
{
result.FileStream.CopyTo(ms);
return new FormFile(ms, 0, ms.Length);
}
finally
{
ms.Dispose();
}
}