1 回答

TA貢獻1856條經驗 獲得超5個贊
您不能使用,fileStream因為流需要可讀可寫。如果您首先將數據復制到內存流,則可以壓縮該流中的圖像。您的代碼應更改為:
private byte[] ConvertImageToByteArray(IFormFile image)
{
byte[] result = null;
// filestream
using (var fileStream = image.OpenReadStream())
// memory stream
using (var memoryStream = new MemoryStream())
{
fileStream.CopyTo(memoryStream);
memoryStream.Position = 0; // The position needs to be reset.
var before = memoryStream.Length;
ImageOptimizer optimizer = new ImageOptimizer();
optimizer.LosslessCompress(memoryStream);
var after = memoryStream.Length;
// convert to byte[]
result = memoryStream.ToArray();
}
return result;
}
- 1 回答
- 0 關注
- 122 瀏覽
添加回答
舉報