Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Роман67
0 / 0 / 0
Регистрация: 06.03.2017
Сообщений: 16
1

Как получить изображение, используя Get запрос?

09.01.2019, 16:59. Просмотров 834. Ответов 1
Метки нет (Все метки)

Здравствуйте.

Вот что есть:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 public FileResult GetMiniatureScreen()
        {
            string url = "https://vcd.selectel.ru/api/vApp/vm-ххх/screen";
             HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
             req.Method = "GET";
             req.Headers.Add("Authorization", "Bearer " + Project.Models.MainViewModel.Token);
             req.Headers.Add("Accept-Charset", "utf-8, iso-8859 - 1; q=0.5");
             req.Headers.Add("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3");
             req.Accept = "*/*;version=30.0";
            HttpWebResponse res = (HttpWebResponse)req.GetResponse();
            StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.UTF8);
            string Out = sr.ReadToEnd();
            sr.Close();
            return File(Out, "image/png");
        }
Результат запроса - ошибка, неправильный путь
Кликните здесь для просмотра всего текста
�PNG

IHDR@0.)�H�IDATh����o�H�=��q��i)J����C p�
2�Jp�_P��`��$v�:��k>�0+�����]�7Kc�yo���8�0EQ(�˲!�iBt]����[׵Xj۶$I�R˲TU�}�0����UU]U���ׇ��w��Y,��w�޽z�j�X�u������â(�_���͛��]M�(���Rz��-۶!�����8��$�0����u�8!�y^�猱 �EQA@)-�2�2��������z��y�_fʋ/n߾������{�|ߗ$IQ�^���޿��ݻy�K�4�l�v]���,���O��F���� 8�������(��Kk*�u]a]ת�ʲ,����z=ǵk��(�"M���uM�0�q�z���EUUu]7I��9c!�����)��x<���y||���V���ߛ�c<ǙL&��EQ�a��q[����u~~�8�|>7Ms<#�ڶq/����u۶���~_ @����e��]ҍ7����&����m����0�u����q<�N=zT�%�8����xsss>�/��x|pp���a�d2�y�����V��t����9w�0��������}�9B���IJ,�4��ɲlmm-M� f���(�����<�BY��a�Z�8�����d��R�1.�R�H�aMw�"�!��L�e�X��e8���ύ!�Y�e��ضm)��i*��9o��qI�dYn��qM�!B���*�����1�g?~L)].�Q-���S���������i������D�4�y]מ�UU�i�i�q#��~�:��a�1�f���y�a0ƒ$�����6M�(J۶�a�m{vv�KZH���b�E�u]B4M+�b�X`����mۦ��a(˲m�aB�$i��۷o���m[UU�I�677� ��9�}߶mEQ��O��_}�_@z��9!$����,���|����cι��,��%�"�q8��O�>�|�R���o�>{�!�����dr% ��?���繸��...


Подскажите пожалуйста, как это можно реализовать?
Вдруг кому понадобиться http://slc.tl/a9ass - это описание того как использовать данный метод vCloud API 30.0
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2019, 16:59
Ответы с готовыми решениями:

Как при аплоде, используя компонент от Dundas, получить имя файла до того как он будет сохранен на диск?
Может кто знает как при аплоде, используя компонент от Dundas, получить имя файла до того как он...

Как получить русские буквы в ответе на запрос?
Проблема такая. Сикл сервер содержит контент на русском языке. Когда пишу запрос в MS Query...

Как получить ответ от ASP.NET на POST запрос?
Привет, Ситуация такая. Я делаю небольшую игру на Unity - клон игры Lines. Мне хочется сделать...

Как получить число записей, на которые воздействовал запрос?
Выполняю запрос через коннекшн, нужно знать сколько записей он задел. По идее вот это должно...

Получить изображение по url
Мне необходимо получить изображение, его имя соответствует уникальному идентификатору Делаю...

1
OwenGlendower
Супер-модератор
Эксперт .NET
10235 / 8835 / 3780
Регистрация: 17.03.2014
Сообщений: 17,769
Записей в блоге: 1
09.01.2019, 18:23 2
Лучший ответ Сообщение было отмечено Роман67 как решение

Решение

Роман67, метод File(string, string) ожидает что первый аргумент это путь к файлу, а не содержимое файла которое ты передаешь. Кроме того бинарные файлы нужно читать как массив байтов, а не как строку. Чтение через строки испортит изображение. Попробуй такой вариант
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public FileResult GetMiniatureScreen()
{
    string url = "https://vcd.selectel.ru/api/vApp/vm-ххх/screen";
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
    req.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; // На всякий случай
    req.Method = "GET";
    req.Headers.Add("Authorization", "Bearer " + Project.Models.MainViewModel.Token);
    req.Headers.Add("Accept-Charset", "utf-8, iso-8859 - 1; q=0.5");
    req.Headers.Add("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3");
    req.Accept = "*/*;version=30.0";
    byte[] bytes;
    using (HttpWebResponse res = (HttpWebResponse)req.GetResponse())
    using (Stream responseStream = res.GetResponseStream())
    using (MemoryStream mstream = new MemoryStream())
    {
        responseStream.CopyTo(mstream);
        bytes = mstream.ToArray();
    }
    return File(bytes, "image/png");
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2019, 18:23

Как получить изображение из ответа на запрос HttpWebRequest?
Всё, казалось бы, просто и понятно. Я получаю картинку (капчу) с ответом на запрос. Dim request As...

Как выполнить get запрос через chrome на изображение и получить картинку
Как выполнить get запрос через chrome на изображение и получить картинку а не набор бинарных байт....

Используя sql-запрос и php, получить данные из базы *.dbf
возможно, используя sql-запрос и php, получить данные из базы *.dbf? смотрю дкументацию... вижу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru