У меня есть такой код:
this.client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "image/png");
HttpResponseMessage response = await this.client.GetAsync("Avatar/GetImage");
Stream receiveStream = await response.Content.ReadAsStreamAsync();
StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
// Read the response data ( for filename and extension )
responseData = readStream.ReadToEnd();
switch (response.StatusCode)
{
// Check if we are happy
case HttpStatusCode.OK:
StorageFolder appInstalledFolder = ApplicationData.Current.LocalFolder;
// Just for test hardcode the filename and extension - YEAH I'M SURE THE IMAGE FROM API IS PNG
StorageFile avatarFile = await appInstalledFolder.CreateFileAsync("Avatar.png", CreationCollisionOption.ReplaceExisting);
try
{
byte[] buffer = await response.Content.ReadAsByteArrayAsync();
using (Stream stream = await avatarFile.OpenStreamForWriteAsync())
{
stream.Write(buffer, 0, buffer.Length); // Save
}
}
catch (Exception fileDownloadException)
{
}
}
Итак, проблема в том, что я получаю одинаковый размер файла, но не могу его открыть:
Я заметил, что исходное изображение было jpg, новывод PNG (API всегда возвращает PNG), но размер загруженного изображения больше исходного.
Может ли проблема быть не на моей стороне, а на стороне сервера? мой код в порядке?
ОБНОВЛЕНИЕ 1. Обнаружил проблему, но не знаю, как ее исправить.Проблема в том, что сохраненный файл содержит заголовки ответа (открыл его в Notepad ++):
Удаление: исправляет файл:
- 6e289ec9-cb9f-4621-8e5f-6affbbb67864 Длина содержимого: 2814964 Расположение содержимого: вложение;filename = "a31e3809-aeb7-43d8-b79a-10a33060aae6.png" Тип содержимого: image / png
‰ PNG
IHDR> & vњA gAMA Х8_hj ‰ cHRM ‡ Ь эЬ Y Y н8О ћ [Р4 ТiCCPPhotoshop ICC профиль XГxXX · мѓБ {вЉKdњ ^, С] vYQљT ЃҐ,ло‚TED¬XђЁ€
cБX{‹ЭcЗ®СЌI4љЮ№і.|ЯяЅя{яп
іwО№чЬS~зњ;ѓaќпЁэьјЌА°$“НвЇЧЁЖ…„ЄљЯЖљА_klЦЖe5{xbятъэ:ж„~Їёyщк}±яЭХ&Кl±a“ЖґЖTшu2cXУжоћ:7KГ°sэ’lkЭxўвС°м(МheaьЖbеq[$іC¤}ЬЌ§ШМ їm?4NLIЉ‡сP4¶ъ»ГШЖbнг4ЋґЏНhњ‹ЦжЂdl’ЩЉaќvэDґСѕg3¦Ў_М=Щњn‰ЏЌі©"УUИ*}RдИЃЄ ›1Ю“‚ЊД”№^z_Я
/ ќЏ> p $ О »8» ылФЃ: -оКbС $ E№ЄTЅTЃсIЖБ * ЉМ .ОЈу! Бсю0z] joN4?[ЏЪ [dџ oЌО? ЬЧ # ЬГSзҐ