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

Вниз

аплоад файлов   Найти похожие ветки 

 
PHPDeveloper   (2006-12-19 23:14) [0]

Доброго времени суток.
Пытаюсь залить файл на сайт. Вопрос: файла нужно кодировать с помощью 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);


Код формы


<form ENCTYPE="multipart/form-data" method="POST" name="form1" action="upload.php" onsubmit="disableme("button"); return true;">
<input type="hidden" name="submit_check" value="1">
<table border="0"><tr>
<td class="maintext" id="upload_container">
<center>Upload <input name="location0" value="file" onclick="showhide(true, 0);" checked="checked" type="radio"> file <input input name="location0" value="url" onclick="showhide(false, 0);" type="radio"> url</center><center>

<input onchange="showoptions(this)" name="file_local0" id="file0" size="70" style="width: auto; display:block;" type="file"><input type="text" name="file_url0" id="url0" value="paste image url here" style="color:#888; display:none; width:400;" onfocus="focusfield(this)"></center>
</td>
</tr>
</table>
<table border="0" align="center"><tr>
<td align="center" class="maintext"><center>

<div id="filetypeerror" style="display: none"> <b style="color: red;">Please select only one of the supported file types: jpg, gif, png, swf<br></div>

<input id="button" type="submit" name="submit" value="Upload it!">
<center>Valid file types: jpeg, jpg, gif, png, swf<br>
Filesize limit: 2048KB

<br><br>Please make sure to read our <a href="tos.php" target="_blank">Terms Of Service</a>.</center></td>
</tr>
</table>
</form>


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

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


 
PHPDeveloper   (2006-12-20 00:01) [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-20 18:44) [3]

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



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

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

Наверх




Память: 0.47 MB
Время: 0.025 c
1-1179398808
Dmitry_177
2007-05-17 14:46
2007.07.22
StringGrid при нажатии на ячейку был выделенный текст


1-1179490447
stud
2007-05-18 16:14
2007.07.22
композитный отчет


15-1182784402
antonn
2007-06-25 19:13
2007.07.22
проблемка с html


15-1182854372
Карелин Артем
2007-06-26 14:39
2007.07.22
Учебные материалы по CMMI level 4 найти где?


2-1182708102
mysql
2007-06-24 22:01
2007.07.22
названия полей кириллицей (mysql)