Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2007.07.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.04 c
3-1176988484
SkyN
2007-04-19 17:14
2007.07.22
Как узнать тип данных в таблице (ODBC) ?


15-1182752797
de.
2007-06-25 10:26
2007.07.22
Открыть часть набора данных


15-1182770012
DrAndrew
2007-06-25 15:13
2007.07.22
Как записать значение языка в ini файл при инсталляции Inno Setup


15-1182259262
oldman
2007-06-19 17:21
2007.07.22
Я по улице марше,


15-1182629079
comrad
2007-06-24 00:04
2007.07.22
Не компилируются проекты





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский