Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Загрузка файла на сайт


Автор: ishimcity 19.1.2009, 13:35
Привет ребята. Вообщем есть сайт на который мне нужно отправлять файлы бинарного типа

в куске сайта я нашел это:

Код

<form enctype='multipart/form-data' action='http://сайт' method='post'> 
<table cellspacing='2' cellpadding='2' border='0'>
<tr>
      <td><p>file: </font></td>
    <td><input name='fil' type='file'></td>
</tr>
<tr>
      <td><p>file size limit: </font></td>
    <td>5000 kb</td>
</tr>
<tr>
    <td><input name='submit' type='submit' value='Send File'> </td>
     <td></td> 
</tr>
<input type='hidden' name='from' value='tree'>
</table>
</form>


уже голову сломал никак немогу придумать как делать POST файла

Парсер выдает такой код: -----------------------------7d917e244c068a
Content-Disposition: form-data; name="fil"; filename="C:\1.zip"
Content-Type: application/octet-stream

Помогите плиззззз
Заранее спасибо



Автор: mr_smit 20.1.2009, 21:15
Кусок из моей программы:

Имеем:

Код

<html>
<head>
    <title>Untitled</title>
</head>

<body>

<form method="post" enctype="multipart/form-data">
<input name="action" value="addimage" type="hidden">
<input name="image" size="35" type="file"> <br>
<input value="Загрузить картинку" type="submit">
</form>

</body>

</html>


Туда я загружаю картинку:

Код

//----------------------------------------------------
// заливаем файл

procedure TForm1.UploadScreen (FileName: TFileName);
begin
label2.Caption:='Загрузка файла...';
try
  Response:=TStringStream.Create('');
  Img:=TidMultiPartFormDataStream.Create;
  Img.AddFormField('action','addimage');
  Img.AddFile('image',filename,'image/jpeg');
  try
    idHTTP.Post('http://qiq.ru/image.php',Img,Response);
  except
  on E: EIdHTTPProtocolException do
   begin
     MessageBox(0,PChar(E.Message),'Ошибка загрузки',0);
   end;
  end;
finally
  HtmlForParsing:=Response.DataString; //(Ответ);
  Img.Free;
  Response.Free;
end;
end;

//----------------------------------------------------


Да, забыл:

Код

var
  Img: TidMultiPartFormDataStream;
  Response: TStringStream;


и IdMultipartFormData в uses


Обрати внимание:
Код

<input name="image" size="35" type="file">

Код

Img.AddFile('image',filename,'image/jpeg');

имя image

у тебя fil, должно соответствовать (должны быть одинаковы)

и ещё:
Код

<input name="action" value="addimage" type="hidden">

Код

Img.AddFormField('action','addimage');

тоже самое.

Автор: ishimcity 21.1.2009, 06:07
mr_smit Спасибо друг!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)