Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
1 / 1 / 1
Регистрация: 23.05.2017
Сообщений: 15

Отправить браузеру html и файл одновременно

22.07.2017, 15:48. Показов 993. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Немного потерялся на вашем сайте, не сразу нашел подходящий раздел для вопроса.
Суть проблемы.
Делаю тестовое задание, сервер отправляющий по запросу браузера файл.
Запрос вида http://127.0.0.1:8282/get/test.txt
Если файла нет, то все просто, отправляю html с ошибкой.
Если файл есть то нужно (возможно ли?) отправить html с информацией о начавшейся загрузке и сам файл.
Для отправки файла конструирую такой хедер
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
std::string headerFile(const std::string& filename, int contentLength)
    {
        std::string h =
        "HTTP/1.1 200 OK\r\n"
        "Content-Description: File Transfer\n"
        "Content-Type: application/octet-stream\n"
        "Content-Disposition: attachment; filename="+filename+"\n"
        "Content-Transfer-Encoding: binary\n"
        "Expires: 0\n"
        "Cache-Control: must-revalidate\n"
        "Pragma: public\n"
        "Content-Length: " + boost::lexical_cast<std::string>(contentLength) + "\n"
        "\n";
 
        return h;
 
    }
Проблема в том, что после получения первого хедера, всё остальное воспринимается браузером, как данные и не понятно как ему подсунуть простенький html для отображения в окне.
Буду благодарен за любую подсказку
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.07.2017, 15:48
Ответы с готовыми решениями:

Как отправить html файл браузеру
Есть файл и есть приложение Приложение открывает на прослушивание сокет. Создается клиентский сокет при подключении. Как нужно...

Отправить Html файл на печать
Добрый день. Если ли способ программно отправить некий html файл на печать? При выполнении ShellExecute(Handle, &quot;open&quot;,...

Отправить html-файл определённому пользователю
Здравствуйте! Вопрос такой возможно ли отправить в определённый момент времени(например в 6:00) определённому пользователь(например по...

2
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
22.07.2017, 16:07
Если я правильно понимаю, то на один запрос получается один ответ. Ели ты хочешь, чтобы параллельно с картинкой отображалась картинка с прогрессом, то это делается через всякие java-наовроты

Добавлено через 7 минут
Возможно, тема для раздела https://www.cyberforum.ru/web-mastering/
0
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,893
22.07.2017, 16:22
Цитата Сообщение от maxmail Посмотреть сообщение
C++
1
2
3
4
5
6
7
* * * * "HTTP/1.1 200 OK\r\n"
* * * * "Content-Description: File Transfer\n"
* * * * "Content-Type: application/octet-stream\n"
* * * * "Content-Disposition: attachment; filename="+filename+"\n"
* * * * "Content-Transfer-Encoding: binary\n"
* * * * "Expires: 0\n"
* * * * "Cache-Control: must-revalidate\n"
maxmail, разделить между заголовками должен быть \r\n, а не \n.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.07.2017, 16:22
Помогаю со студенческими работами здесь

Реализация WEB-сервера (HTTP), сделать поставку браузеру html страниц
Здравствуйте, уважаемые разработчики. У меня есть задача реализовать систему компьютерного тестирования учащихся. Для проведения...

Парсинг делают одновременно со скачиванием html, или в конце со скачанным html
Представим что html байт за байтом записывается в файл, Как правильнее сделать парсинг , после того как будет скачан полностью весь html,...

Одновременно отправить 2 команды серверу
нужна помощь,мне нужно одновременно отправить 2 команды серверу как мне это сделать?? вот 2 команды sock.Send('REMOVE...

Одновременно отправить запросы с нескольких прокси
Привет всем. Пишу чекер. В одном из файлов находится список прокси-серверов. Я хочу отправлять n-разных запросов с помощью n-разных...

Отправить письмо одновременно 100 000 адресатам
здравствуите. допустим есть 100 000 разних имеил адресов, ети адреси сидят в масиве. ми хотим что атправить всех етих адресов одно и тот...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru