• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Отправка картиники с запросом

Александр210

Принятый Кодер
Регистрация
20 Апр 2020
Сообщения
1
Баллы
28
Доброго времени суток коллеги нужна ваша помощь

Есть процедура для авторизации на сайте она работает но встала задача что при регистрации нужно
передать еще фото или картинку из timage:

Так вот как сюда добавить еще фото:
data := 'phone='+reg_login_user+'&password='+reg_pass_user+'&name='+reg_name_user;

Есть предположение что надо дописать в конец еще скажем +'&photo='+а как его скажем загнать сюда из Timage;<--?

ниже представлены данные из докера разработчики сайта сделали его для удобства отстройки по Api

curl -X POST "

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

" -H "accept: application/json" -H "Content-Type: multipart/form-data" -H "X-CLIENT-ID: docs_test_client_dont_use_in_prod" -H "X-API-KEY: 58574921a5b3e6ab3337a9e78b2b808d" -H "User-Agent: Android/2.0.9 (iPhone 8; iOS 10.1.2)" -d {"phone":"78949878543","password":"parol","name":"Ivan","photo":{}}

Как видно добавились параметры для добавления фото но вот как сюда его запихнуть ума не прилажу всю голову сломал
фото или картинку надо взять из timage





procedure reg_user; // Регистрация и получение ключей
var
data: string;
DataToSend : TStringStream;
IdHTTP: TIdHTTP;
Answer: string;
var x:ISuperObject;


begin

dateutcminus;
md5hash:='docs_test_client_dont_use_in_prod'+'renderTime'+IntToStr(YearOf(Now))+'-'+mount_utc+'-'+date_utc+':'+hore_utc;
md5hash:=System.Hash.THashMD5.GetHashString(md5hash); // Преобразовали в переменной md 5

try
data := 'phone='+reg_login_user+'&password='+reg_pass_user+'&name='+reg_name_user; // Записали в строку данные
DataToSend := TStringStream.Create(data, TEncoding.UTF8);
try
IdHTTP := TIdHTTP.Create(nil);
try
IdHTTP.Request.Accept := 'application/json, text/plain;q=0.9, text/html;q=0.8';
IdHTTP.Request.ContentType :='multipart/form-data';
IdHTTP.Request.CustomHeaders.Values['X-CLIENT-ID'] := 'docs_test_client_dont_use_in_prod';
IdHTTP.Request.CustomHeaders.Values['X-API-KEY'] := md5hash;
IdHTTP.Request.UserAgent := 'Android/2.0.9 (iPhone 8; iOS 10.1.2)';
Answer := IdHTTP.Post('

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

', DataToSend); // Записываем ответ в answer
Application.ProcessMessages;


x:=SO(Answer);
tokenkey:=( X['token'].AsString ); // Получили токен
refreshtokenkey:=( X['refresh_token'].AsString ); // Получили рефрешь токен

IniFile:=TIniFIle.Create(TPath.Combine(TPath.GetTempPath, 'securiti'+'.ini')); // Создаем файл
IniFile.Writestring('paremeters', 'tokenkey', tokenkey); // Записываем
Inifile.UpdateFile;

IniFile:=TIniFIle.Create(TPath.Combine(TPath.GetTempPath, 'securiti'+'.ini')); // Создаем файл
IniFile.Writestring('paremeters', 'refreshtokenkey', refreshtokenkey); // Записываем
Inifile.UpdateFile; // Обновляем файлик с данными на устройстве

TabbedForm.WORKFORM.Visible := true; // Если же не пустые то показываем основную форму
TabbedForm.REGAUTCHFORM.Visible :=false; // При успешной авторизации скрываем форму авторизации
TabbedForm.memo1.Lines.Add('Успешная регистрация');

finally
IdHTTP.Free;
end;

finally
DataToSend.Free; // Очищаем
end;

except
on E: Exception do
if E.Message.Contains('HTTP/1.1 400 Bad Request') then
begin
ShowMessage('Введины не верные данные при регистрации');
end;
end;
 
Тему перенесу, так как не в том разделе вопрос задал. А так фото передавай через stream.
 
Вверх Снизу