Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Web Application


Автор: Святогор 3.11.2006, 13:04
Суть проблемы такова.
Необходимо разработать простое Веб приложение с двумя кнопками. Нажимая первую открывается OpenFile диалог и пользователь выбирает файл со своего диска. Файл обрабатывается на сервере. Пользователь нажимает на вторую кнопку и тот же файл (только немного измененный) скачивается пользователю обратно на диск. Как подобное реализовать? 
Может Intraweb ? Релизовать интерфейс там проще простого, но как там реализовать загрузку файла и его последующее скачивание?

Автор: Snowy 3.11.2006, 13:32
Зачем интравеб?
Обычный WebServer Application.
Оно на первой закладке в разделе "Create New".

Автор: Святогор 3.11.2006, 13:33
Snowy, Ну а можете конкретней ответить на мои вопросы и рассказать с помощью каких компонент все это делается. Буду Вам очень и очень признателен.

Автор: Snowy 3.11.2006, 13:51
При создании приложения автоматом создаётся главный объект - TWebModule.
Создай в нём 2 действия: на Get и на Post запрос.
Через Get - выдавай страницу.
Через Post - принимаешь файл, обрабатываешь и прописываешь в Response

На выполнение действия создаётся событие
Код

procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);

Соответственно - Request: TWebRequest - это входящие данные; 
Response: TWebResponse - то, что ты посылаешь в ответ.
Подробнее - справка по TWebRequest и TWebResponse.
Также может помочь TPageProducer - для создания страниц.
Но можно и без него.
А вообще тема слишком широкая. Почитай про неё в умной книжке.

Добавлено @ 13:51 
Также поиск по форуму по слову WebModule даст несколько примеров.

Добавлено @ 13:56 
Зы. Почему гет и пост: 
страницы запрашиваются через Get.
файлы всегда отправляются через Post.
Отправить файл серверу - задача браузера.
Твоя задача - сделать в html такую FORM, которая бы содержала поле для файла.
Как это сделать - это уже вопрос по html, а не по дельфи.
Твоя задача только получить эти пост данные и разобрать.

Автор: Святогор 3.11.2006, 15:01
Snowy, 
Спасибо, уважаемый!
А примерчик набросать можете? Просто я ниразу подобное не писал и Вы бы мне очень помогли, если бы набросали простой пример, который я описал в начале темы. Очень надеюсь, что Вы мне пможете...

Жду ответа.

Автор: Святогор 5.11.2006, 10:15
Snowy, 
А какие методы и свойства у Request\Response нужно использовать для этого ?
Допустим для получения/отправления файла?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)