@TotTip

Как отправить post с файлом и параметром?

Здравствуйте!
Нужно отправить post запрос на сервер(php) и передать в нем параметр user(строка) и image(файл)
изображение хранится в TImage(это скриншот)
изображение подготавливаю так:
код

image_ms := TMemoryStream.Create;
    jpg := TJPEGImage.Create;
    jpg.Assign(Image1.Picture.Graphic);
    Image1.Free;
    jpg.CompressionQuality := 80;
    jpg.Compress;
    jpg.SaveToStream(image_ms);


как отправить запрос без файла вроде разобрался:
код

Stream := TIdMultipartFormDataStream.Create;
    Stream.AddFormField('user', user_id);
    result := IdHTTP1.Post('https://site.ru/upload.php', Stream);
    Stream.Free;


как сюда добавить изображение?
  • Вопрос задан
  • 40 просмотров
Пригласить эксперта
Ответы на вопрос 1
HemulGM
@HemulGM
Delphi Developer, сис. админ
Зависит от того, как его принимает сервер. Можешь передать внутри MultipartFormDataStream, а можешь в base64 формате в том же MultipartFormDataStream.

И рекомендую использовать не Indy, а Sytem.Net.HttpClient.

А в Indy передача файла происходит так:
MultipartFormDataStream.AddFile('file', 'C:\test.rar', 'application/octet-stream');
или
MultipartFormDataStream.AddFile('file', 'test.jpg', 'application/octet-stream', image_ms);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы