Форум: "Сети";
Текущий архив: 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