Как загрузить медиа-элемент в WordPress из приложения Delphi (Rio) с помощью библиотеки TRestClient - PullRequest
0 голосов
/ 09 июля 2020

У нас есть сайт, разработанный WordPress с шаблоном, который позволяет управлять контентом через собственную поддержку WP для REST API, и мы хотим загружать контент, с которым связаны фотографии. Идея состоит в том, чтобы загрузить фотографии, а затем загрузить контент, связывающий его с загруженными фотографиями. Наш код для загрузки фотографий выглядит следующим образом (с использованием примера использования библиотеки, предоставленного с распространением Delphi):

procedure Tfrm_Main.btn_MediaClick(Sender: TObject);
var jpgFoto: TMemoryStream;
begin
  ResetRESTComponentsToDefaults;

  RESTClient.BaseURL := lbledt_BaseWProp.Text;
  RESTClient.Authenticator := HTTPBasic_DelphiPRAXiS;

  RESTRequest.Resource := 'media';

  HTTPBasic_DelphiPRAXiS.Username := lbledt_Usuario.Text;
  HTTPBasic_DelphiPRAXiS.Password := lbledt_Clave.Text;

  jpgFoto := TMemoryStream.Create;
  jpgFoto.LoadFromFile('t:\beautiful-blowball-dandelion-vector-background.jpg');
  jpgFoto.Position := 0;
  RESTRequest.AddBody(jpgFoto, TRESTContentType.ctIMAGE_JPEG);
  RESTRequest.Method := TRESTRequestMethod.rmPOST;

  RESTRequest.Execute;
  jpgFoto.Free;
end;

Полученный ответ выглядит следующим образом:

{
    "code": "rest_upload_no_content_disposition",
    "message": "No se ha facilitado la disposición de contenido.",
    "data": {
        "status": 400
    }
}

У нас есть не видели четкого примера, как это сделать, и мы теряемся в поисках решения. Спасибо!

1 Ответ

0 голосов
/ 20 июля 2020

Попробуйте множество альтернатив ... наконец, я попробую компонент Indy TidHTTP. Вроде нормально работает! Спасибо

...