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

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

аплоад файлов


PHPDeveloper ©   (2006-12-19 23:14:00) 

Доброго времени суток.
Пытаюсь залить файл на сайт. Вопрос: файла нужно кодировать с помощью Base64? Правильно?
Делаю так? В итоге скрипт возвращает ошибку.

ar
 vWebAddr, vPostData, vFlags, vFrame, vHeaders: OleVariant;
 iLoop,Fsz: Integer;
 boundary,msg,s,str:string;
 f:textfile;
begin
 assignfile(f, 'e:\bm\1');
 reset(f);
 str:='';
 while not eof(f) do
 begin
   readln(f,s);
   str:=str+s+#13;
 end;
 closefile(f);
//  stPostData:='submit_check=1&location0=file&file_local0=E:\Documents and Settings\ASDF\Desktop\image005.gif';
 vHeaders:= 'Content-Type: multipart/form-data; boundary=7d015813802c4'+#10#13;

 boundary := '7d015813802c4';

msg:='--' + boundary + #10+
   'Content-Disposition: form-data; name="submit_check" '+#10#10+
   '1'+#10+
   '--'+boundary+ #10+
   'Content-Disposition: form-data; name="location0" '+#10#10+
   'file'+#10+
   '--'+boundary+ #10+

   'Content-Disposition: form-data; name="local_file0"; filename="E:\\bm\1.gif" '+#10+
   'Content-Type: text/plain '+#10#10+
   Str+#10+
   '--'+boundary+'--'+#10;

 vPostData:= VarArrayCreate([0, Length(msg)], varByte);
 for iLoop := 0 to Length(msg)- 1 do
 begin
     vPostData[iLoop]:= Ord(msg[iLoop+ 1]);
 end;

 vPostData[Length(msg)]:= 0;

 vWebAddr:= ' http://picsaway.com/upload.php';
 WebBrowser1.Navigate2(vWebAddr, vFlags, vFrame, vPostData, vHeaders);


Код формы






Upload file url








Please select only one of the supported file types: jpg, gif, png, swf



Valid file types: jpeg, jpg, gif, png, swf

Filesize limit: 2048KB



Please make sure to read our Terms Of Service.




PHPDeveloper   (2006-12-20 18:44:00) [1]

Неужели никто подсказать не может в чем дело то?


PHPDeveloper   (2006-12-20 00:01:00) [2]

хммм.
Делаю так

 filn:='e:\bm\1.gif';
 fs:=TFileStream.Create(filn,fmOpenRead);

 vHeaders:= 'Content-Type: multipart/form-data; boundary=--7d015813802c47d015813802c4'+#10;

 boundary := '7d015813802c47d015813802c4';

 msg:='--' + boundary + #10+
   'Content-Disposition: form-data; name="submit_check" '+#10#10+
   '1'+#10+
   '--'+boundary+ #10+
   'Content-Disposition: form-data; name="location0" '+#10#10+
   'file'+#10+
   '--'+boundary+ #10+
   'Content-Disposition: form-data; name="file_url0" '+#10#10+
   'paste image url here'+#10+
   '--'+boundary+ #10+

   'Content-Disposition: form-data; name="local_file0"; filename="E:\bm\1.gif" '+#10+
   'Content-Type: text/plain '+#10#10+
   IdEncoderMIME1.Encode(fs, fs.Size)+#10+
   '--'+boundary+'--'+#10;
 fs.free;
 vPostData:= VarArrayCreate([0, Length(msg)], varByte);
 for iLoop := 0 to Length(msg)- 1 do
 begin
     vPostData[iLoop]:= Ord(msg[iLoop+ 1]);
 end;


Ошибка...


PHPDeveloper   (2006-12-19 23:16:00) [3]

в файле "1" содержится закодированный файл (Base64)  E:\bm\1.gif"


Наверх

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