Во всех примерах upload файла в web api делается через
var provider = new MultipartFormDataStreamProvider(path);
var result = await Request.Content.ReadAsMultipartAsync(provider);
И вот в этот момент ReadAsMultipartAsync(provider) загружаемый файл записывается на диск по пути path.
И для того, чтобы изменить файл (картинку: уменьшить качество и размер) мне надо опять открыть файл на чтение, потом изменить его, потом переписать его. Вообщем много лишних телодвижений с файловой системой.
Обыскал инет и не увидел примеров как загрузить файл в
память, взять его из контента, изменить его как мне надо и потом один раз записать его на диск.
На Content есть ReadAsStreamAsync и ReadAsByteArrayAsync, но что с ними дальше делать в этом случае делать, не понятно. На их основе сделать Image.FromStream не получится.