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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2012, 12:51   #1
Mathers
Новичок
Джуниор
 
Регистрация: 16.11.2008
Сообщений: 1
По умолчанию Проблема с запросом НTTPSend

Новичок в этой теме, так что сильно не пинайте. Не получается сделать корректный запрос, перечитал кучу информации, ничего не помогает. На сайт картинку загружает, но ответ сервера не одна ссылка а все ссылки кторые когда либо загружались через программу. Такое чувство как будто сессия не закрывается. Вот функция:

function HttpPostFile(const URL, FieldName, FileName: string;
const Data: TStream; const ResultData: TStrings): Boolean;
const
CRLF = #$0D + #$0A;
var
HTTP: THTTPSend;
Bound, s: string;
begin
Bound := IntToHex(Random(MaxInt), 8) + '1231654654';
HTTP := THTTPSend.Create;
try
s := '--' + Bound + CRLF;
s := s + 'content-disposition: form-data; name="' + FieldName + '";';
s := s + ' filename="' + FileName +'"' + CRLF;
s := s + 'Content-Type: image/jpeg' + CRLF + CRLF;
HTTP.Document.Write(Pointer(s)^, Length(s));
HTTP.Document.CopyFrom(Data, 0);
s := CRLF + '--' + Bound + '--' + CRLF;
HTTP.Document.Write(Pointer(s)^, Length(s));
HTTP.MimeType := 'multipart/form-data, boundary=' + Bound;
Result := HTTP.HTTPMethod('POST', URL);
ResultData.LoadFromStream(HTTP.Docu ment);
finally
HTTP.Free;
end;

Вот так вызываю её:

begin
st := TFileStream.Create('2.jpg', fmOpenRead or fmShareDenyWrite);
try
ProxyHTTPPostFile('http://рicuрiс.nеt/add_photo.php', 'UploadFile', ExtractFilename('2.jpg'), st, TStringList(memo1.Lines));
ShellExecute(0, 'open', 'http://рiсuрiс.nеt/add_photo.php', nil, nil, SW_SHOW);
finally
st.Free;
end;

т.е. если через браузер добавить картинку, то ответ будет с одной ссылкой на загруженный файл. Но если делать через эту функцию ответ приходит с кучей ссылок на картинки которые я раньше загружал.
Даже если просто сделать этот запрос HTTP.HTTPMethod('POST', URL);
то ответ приходит со всеми ссылками.

Последний раз редактировалось Mathers; 17.05.2012 в 12:54.
Mathers вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с запросом chircov090993 БД в Delphi 2 21.03.2012 19:43
Проблема с запросом! Chemik Microsoft Office Access 1 06.01.2012 15:11
проблема с запросом virtuhay266 SQL, базы данных 1 06.06.2011 21:26
Проблема с запросом! LizaVeta Общие вопросы Delphi 3 09.05.2010 07:07
Проблема c запросом! SatS SQL, базы данных 6 24.01.2009 22:52