Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2011, 21:50   #1
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию Загрузка файла на сайт

Как можно загрузить файл на сайт http://zalil.ru/ и после вывести ссылку в поле edit ??? а то что то смотрел код страницы и не могу сообразить как это сделать
cargo29 вне форума Ответить с цитированием
Старый 05.02.2011, 02:22   #2
kangreon
Форумчанин
 
Аватар для kangreon
 
Регистрация: 03.04.2009
Сообщений: 305
По умолчанию

IdMultipartFormData + IdHTTP + http://www.ieinspector.com/httpanalyzer/
kangreon вне форума Ответить с цитированием
Старый 05.02.2011, 06:59   #3
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от kangreon Посмотреть сообщение
IdMultipartFormData + IdHTTP + http://www.ieinspector.com/httpanalyzer/
а можно по точнее с IdMultipartFormData
cargo29 вне форума Ответить с цитированием
Старый 05.02.2011, 09:21   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а может всетаки поищем в этом же разделе?

ну было это все...и как отправлять файлы и тп.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 05.02.2011, 15:59   #5
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а может всетаки поищем в этом же разделе?

ну было это все...и как отправлять файлы и тп.
вот какой то код нашел для другого файлообменика но понять не могу

Код:
{--------------------------------------------------------------------}

{------------------- Copyright 4T(4team) © 2010 --------------------}

{--------------------------------------------------------------------}



uses

  IdMultipartFormData, IdHTTP;



function UploadFile_UNWAP(_filename, _info: string; const _password: string = ''): string;

var

  _F: TIdMultiPartFormDataStream;

  _Http: TIdHTTP;

  _Buff: string;

begin

  _Http := TIdHTTP.Create(nil);

  _Http.HandleRedirects := True;

  _Http.Get('http://upwap.ru/upload/');

  _F := TIdMultiPartFormDataStream.Create;

  if FileExists(_filename) then

    _F.AddFile('file', _filename, 'multipart/form-data')

    else begin

      Result :=  'Файл для загрузки ненайден!';

      Exit;

    end;

  _F.AddFormField('desc', UTF8Encode(_info));

  if _password <> '' then

    _F.AddFormField('password', UTF8Encode(_password));

  _F.AddFormField('send', UTF8Encode('Отправить!'));

  _Buff:=UTF8Decode(_Http.Post('http://upwap.ru/upload/', _F));

  if Pos('Файл размещен', _Buff) = 0 then

    Result := 'Ошибка...'

    else begin

      Delete(_Buff, 1, Pos('Файл размещен', _Buff) + Length('Файл размещен') + 18);

      Delete(_Buff, Pos('">', _Buff), Length(_Buff) - Pos('">', _Buff) + 1);

      Result := 'http://upwap.ru' + _Buff;

    end;

  _F.Free;

  _Http.Free;

end;



// Тестировалось только на Delphi 7

понять не могу как строиться TIdMultiPartFormDataStream; _F.AddFile('путь до файла', _filename, 'а это что?')
_F.AddFormField('send', UTF8Encode('Отправить!')); это я как понимаю нажимает на кнопку отправить?
cargo29 вне форума Ответить с цитированием
Старый 06.02.2011, 00:50   #6
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

вообщем мне вот на форуме посоветовали но выдает ошибку
Код:
var f:TIdMultiPartFormDataStream;
begin
  f:=TIdMultiPartFormDataStream.Create;
  f.AddFile('file', путь к файлу, 'multipart/form-data');
  Memo1.text:=IdHTTP1.Post('http://zalil.ru/upload/', f); // в мемо будет код страницы которую вернет нам сайт 
  f.Free;
end;


я подправил
Код:
var f:TIdMultiPartFormDataStream;
begin
  f:=TIdMultiPartFormDataStream.Create;
  f.AddFile('file', путь к файлу, 'multipart/form-data');
  IdHTTP1.Post('http://zalil.ru/upload/', f); // в мемо будет код страницы которую вернет нам сайт 
  f.Free;
end;
файл уходит как теперь вывести ссылку на какую страницу перебросило?

Ни кто не знает?

Последний раз редактировалось Stilet; 06.02.2011 в 12:05.
cargo29 вне форума Ответить с цитированием
Старый 06.02.2011, 12:09   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
как теперь вывести ссылку на какую страницу перебросило?
В принципе если не ошибаюсь
Код:
var resp:TStringStream;
...
begin
 resp:=TStringStream.Create;
 IdHTTP1.Post('http://zalil.ru/upload/',f,resp);
 Caption:=resp.DataString;
end;
В Пост передается третий параметр, который может принять ответ сервера, которому постишь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.02.2011, 13:06   #8
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
В принципе если не ошибаюсь
Код:
var resp:TStringStream;
...
begin
 resp:=TStringStream.Create;
 IdHTTP1.Post('http://zalil.ru/upload/',f,resp);
 Caption:=resp.DataString;
end;
В Пост передается третий параметр, который может принять ответ сервера, которому постишь.
вот получается такой код???

Код:
user IdMultiPartFormData


procedure TForm1.Button1Click(Sender: TObject);
var f:TIdMultiPartFormDataStream;
   resp:TStringStream;
begin
   f:=TIdMultiPartFormDataStream.Create;
  resp:=TStringStream.Create();
  f.AddFile('file', 'C:\1.txt', 'multipart/form-data');
  IdHTTP1.Post('http://zalil.ru/upload/', f, resp); 
   edit1.Text:=resp.DataString;
  f.Free;
end;
но опять он не работает подчеркивает resp:=TStringStream.Create();
cargo29 вне форума Ответить с цитированием
Старый 06.02.2011, 14:35   #9
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

может кто поможет?
cargo29 вне форума Ответить с цитированием
Старый 06.02.2011, 15:22   #10
exn
Пользователь
 
Регистрация: 06.02.2011
Сообщений: 51
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
f   : TIdMultiPartFormDataStream;
begin
  IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5';
  f   := TIdMultiPartFormDataStream.Create;
  try
    f.AddFile('file', 'C:\test.rar', 'application/octet-stream');
    try
     IdHTTP1.Post('http://zalil.ru/upload/', f);
    except on E : Exception do
     if IdHTTP1.Response.ResponseCode = 302 then
     Edit1.Text := 'http://zalil.ru/' + StringReplace(IdHTTP1.Response.Location,'/upload/','',[])
     else
     Edit1.Text := E.Message;
    end;
  finally
   f.Free;
  end;
end;
проверено, заливает! )
exn вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка файлов на сайт Krasi PHP 9 16.07.2010 21:44
Загрузка фото на сайт? PSix1_73 PHP 1 04.08.2009 04:40
Загрузка изображения на сайт KiDoki Работа с сетью в Delphi 3 22.06.2009 21:27
Проблема такова: язык:Delphi7; сохранения файла; загрузка файла в String Grid lightdevil Общие вопросы Delphi 3 06.03.2009 23:10
загрузка фото на сайт sf911 Помощь студентам 3 20.12.2008 21:05