2013-05-31 3 views
0

Я пытаюсь добавить прикрепление к одной службе. Это взято из документации: enter image description hereMultiPartEntity in Indy [Delphi]

Интересно, если объект может быть добавлен в Инди, как если бы это могло быть сделано, например, в Java:

postRequest.setHeader("X-Atlassian-Token","nocheck"); 
MultipartEntity entity = new MultipartEntity(); 
entity.addPart("file", new FileBody(fileUpload)); 
postRequest.setEntity(entity); 
HttpResponse response = httpClient.execute(postRequest); 

ответ

1

Нашел:

uses IdMultipartFormData 
... 
Stream: TIdMultipartFormDataStream; 

EDITED: Для этой конкретной проблемы с Jira REST API решение будет выглядеть примерно так:

проводок по адресу: base_url +/отдых/API/2/выпуск/{issueIdOrKey}/вложения

try 
    lHTTP.Request.CustomHeaders.AddValue('X-Atlassian-Token', 'nocheck'); 
    FileSize := lHTTP.Response.ContentLength; 

    FileStrm := TFileStream.Create(AFile, fmOpenRead or fmShareDenyWrite); 
    try 
     if FileSize < FileStrm.Size then 
     begin 
     FileStrm.Position := FileSize; 

     Stream := TIdMultipartFormDataStream.Create; 
     try 
      Stream.AddFile('file', AFile); 

      with lHTTP do 
      begin 
      with Request do 
      begin 
       ContentRangeStart := FileSize + 1; 
       ContentRangeEnd := FileStrm.Size; 
      end; 

      Post(self.BASE_URL + SEND_ATTACHEMENT_TO_AN_ISSUE_URL + 
       IntToStr(IssueID) + '/attachments', Stream); 

      Result := true; 

      end; 
     finally 
      Stream.Free; 
     end; 
     end; 
    finally 
     FileStrm.Free; 
    end; 
    except 
    Result := false; 
    end; 

Примечание: После того, что не следует забывать, чтобы вернуться заголовки и изменить "тип контента" на тот, который необходим для будущих запросов

 Смежные вопросы

  • Нет связанных вопросов^_^