Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CGI, C++ и бинарные файлы 
:(
    Опции темы
vandaler
Дата 23.5.2012, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 5.11.2009

Репутация: нет
Всего: нет



Задача следующая: выдать пользователю любой файл, какой он ни попросит, имеющийся в архиве черех web-интерфейс.
Есть программа на С++, которая считывает бинарный файл в массив char*, а потом выводит в std::cout.  Если воспользоваться ею напрямую и перенаправить вывод в файл, то все открывается, файл приходит без искажений.
У меня не выходит выдать файл через скрипт, выходит только в случае html.
Скрипт следующий:
Код

#!/bin/bash

code=${QUERY_STRING:-0}
ID=`echo $code | awk -F_ '{print $1;}'`
ver=`echo $code | awk -F_ '{print $2;}'`
MIME=`echo $code | awk -F_ '{print $3;}'`
enc=`echo $code | awk -F_ '{print $4;}'`

echo "Content-type: $MIME; charset=$enc"
#echo "Content-type: $MIME"
echo -e "\x0D\x0A\x0D\x0A"

/home/ak/proj/get $ID $ver


Последняя строка и есть моя программа.
Помогите советом
PM MAIL   Вверх
feodorv
Дата 23.5.2012, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 10
Всего: 45



Цитата(vandaler @  23.5.2012,  18:38 Найти цитируемый пост)
CGI, C++ и бинарные файлы

Честно говоря, C++ здесь совсем не причём, даже если Вы приведёте исходный текст /home/ak/proj/get, которая и так не совсем понятно, что делает...

Цитата(vandaler @  23.5.2012,  18:38 Найти цитируемый пост)
Задача следующая: выдать пользователю любой файл, какой он ни попросит, имеющийся в архиве черех web-интерфейс.

Задача стоИт в C++ или shell?

Цитата(vandaler @  23.5.2012,  18:38 Найти цитируемый пост)
Помогите советом 

Обратите внимание на Content-type... Да и вообще, приведённый скрипт можно запускать и без CGI, необходимо проверить, правильно ли вообще он работает...


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
volatile
Дата 23.5.2012, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: нет
Всего: 85



Цитата(feodorv @  23.5.2012,  20:24 Найти цитируемый пост)
Обратите внимание на Content-type... 

Да, скорей всего именно в этом дело, раз 
Цитата(vandaler @  23.5.2012,  17:38 Найти цитируемый пост)
выходит только в случае html.


попробуйте поставить:
"Content-Type: application/octet-stream"
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0576 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.