我使用此代码更改图像的大小。但是这个方法返回FileStreamResult. 我想转换FileStreamResult 为IFromFile. 我怎样才能做到这一点?
注意:我正在使用CoreCompat 来更改图像大小。
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");
}
}
Run Code Online (Sandbox Code Playgroud)
这适用于该文件,但它似乎不会复制其他数据,例如内容类型
public IFormFile GetFormFile(FileStreamResult fsr)
{
using (var fs = fsr.FileStream)
{
file = new FormFile(fs, 0, fs.Length, "name", fsr.FileDownloadName);
}
}
Run Code Online (Sandbox Code Playgroud)
这应该处理将 FileStreamResult 转换为 FormFile:
public IFormFile ReturnFormFile(FileStreamResult result)
{
var ms = new MemoryStream();
try
{
result.FileStream.CopyTo(ms);
return new FormFile(ms, 0, ms.Length);
}
catch(Exception e){
ms.Dispose();
throw;
}
finally
{
ms.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14874 次 |
| 最近记录: |