Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Загрузка файла с компа пользователя на сервер [D7, WinXP]


vishnia ©   (2007-06-18 14:25:00) 

С формой на сервер отправляется файл любого типа (doc, txt, html, rar, zip, и т.д.)
<form method="POST"  name="Doc" action=" http://localhost/admin/mail/Scripts/SenderSystem.dll/document" enctype="multipart/form-data">
....
<input type="file" name="FileName" size="78" title="Выбрать сопроводительный документ">
.....
</form>


Вопрос: как его сохранить на сервере. На PHP это просто делается :
    $fp1 = 'C:\\inetpub\\wwwroot\\REFERENT\\'.$dir.'\\'.$fn;
   $res = move_uploaded_file($FileName,$fp1);

А на Delphi как? Я посмотрела, есть
Request.Files.Items[i].Stream
Как с этим работать и есть ли др.способ?


vishnia   (2007-06-20 14:37:00) [1]

Если кому-нибудь интересно, я сделала то, что нужно вот так:
 
var F:TStream;
F:=TFileStream.Create('C:\inetpub\index.'+ext,fmCreate or fmShareCompat);
// ext - расширение загружаемого файла
 F.CopyFrom(Request.Files.Items[0].Stream, Request.Files.Items[0].Stream.Size);
 F.Destroy;


Плохиш   (2007-06-18 15:21:00) [2]

В описании TAdapterFileField много чего есть...


vishnia   (2007-06-18 15:12:00) [3]

А нельзя ли поподробнее, pls?


Reindeer Moss Eater   (2007-06-18 15:08:00) [4]

можно и без инди.
читай заголовок, принимай данные, складывай в файл.


vishnia   (2007-06-18 15:05:00) [5]

Кроме того POST-запрос у меня и без Indy по-моему отлично вполняется, я ведь использую в форме enctype="multipart/form-data" и подключила ReqMulti для использования TMultipartContentParser. Вопрос в том, как сохранить файл, полученный с помощью этого запроса?


vishnia   (2007-06-18 14:52:00) [6]

А без использования Indy никак нельзя?


G_M_S   (2007-06-18 14:41:00) [7]

Indy - компонент TidHTTP.Он позволяет выполнить POST-запрос к серверу, который, собственно, и требуется в форме. Единственное - надо в заголовке указать, что контент - бинарный. Сам файлы не передавал таким образом, потому как это сделать - точно сказать не могу, читайте хэлп.


Наверх

Титульная страница Поиск, карта сайта Написать письмо