Я обрабатываю загрузки в .NET Core, которые передаются как IFormFile
. Мне нужно манипулировать потоком, чтобы удалить данные Exif, прежде чем я в конечном счете передам файл для сохранения. Однако я не знаю, как справиться с этим. Я пытаюсь использовать код ниже, но он не работает, потому что stream
находится только в операторе using
.Управление потоком внутри оператора using
Каков правильный способ сделать что-то подобное?
public async Task<IActionResult> UploadImage(IFormFile image)
{
using (var stream = new MemoryStream())
{
// image is IFormFile
await image.CopyToAsync(stream);
// doesn't work, stream is readonly
stream = StripExif(stream);
// save stream
}
return Ok();
}
public static Stream StripExif(Stream stream)
{
stream.Seek(0, SeekOrigin.Begin);
// remove Exif data
return stream;
}
Спасибо за исправление опечатки, Стив. :) – vaindil