Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.16;
Скачать: CL | DM;

Вниз

Загрузка файла с компа пользователя на сервер   Найти похожие ветки 

 
vishnia   (2007-06-18 14:25) [0]

С формой на сервер отправляется файл любого типа (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
Как с этим работать и есть ли др.способ?


 
G_M_S ©   (2007-06-18 14:41) [1]

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


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

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


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

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


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

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


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

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


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

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


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

Если кому-нибудь интересно, я сделала то, что нужно вот так:
 
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;



Страницы: 1 вся ветка

Текущий архив: 2008.03.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
8-1177042797
Dmitriy_O.
2007-04-20 08:19
2008.03.16
Как сделать "вспышку" тоесть чтобы картинка засветилась яркими цв


11-1186120923
Alexey_k
2007-08-03 10:02
2008.03.16
Нужен файл KOL_unicode.inc


2-1203068758
Костя
2008-02-15 12:45
2008.03.16
Как отловить нажатие кнопки мыши


4-1168433375
Gear
2007-01-10 15:49
2008.03.16
Vista и права админа у программы.


15-1202197190
Шмелъ
2008-02-05 10:39
2008.03.16
Оффтоп. Linux. /dev/null