2014-11-02 16 views
0

API를 사용하여 첨부 파일을 보내려고하지만 multipart/form-data로 보내지 만 첨부 파일을 보낼 수는 없습니다. API 문서는 예제를 표시하지 않습니다. 구문을 전달해야하므로 그렇게 할 수 없다. 데이터를 전송하는 방법 : 당신이 잘못하고있는첨부 파일 - freshdesk

Input::all(); 
     $json = json_encode(
      array(
       "helpdesk_note" => array(
       "body" => Input::get('reply'), 
       "user_id" => $requester_id, 
       "private" => true, 
       "attachments" => array(
        Input::get('photo')     
       ) 
      ) 
     ) 
    ); 

    $this->curlWrap("tickets/".$ticket_id."/conversations/note.json", $json, "POST"); 
+0

그래서 ... 작동하지 않는 것은 무엇입니까? –

+0

@PatrickReck 첨부 파일 필드가 없어지면 아무 것도 전송되지 않습니다. 제거하면 주석이 성공적으로 전송됩니다. – omarsafwany

답변

0

, 첨부 파일은 다중/폼 데이터에있을 필요가 있습니다, 당신은 JSON으로 몸을 통과하려고하시기 바랍니다. 신선한 책상은 허용하지 않습니다.

이 내용을 읽어 보시려면 RFC1867으로하시면됩니다! 6 절에서주의를 기울이십시오. 또한 이러한 헤더를 설정해야

Content-type: multipart/form-data, boundary=AaB03x 

    --AaB03x 
    content-disposition: form-data; name="helpdesk_note[body]" 

    Your message here. 
    --AaB03x 
    content-disposition: form-data; name="helpdesk_note[attachments][][resource]"; filename="fileSomeName.jpg" 
    Content-Type: image/jpeg 

    ... contents of fileSomeName.jpg here ... 
    --AaB03x-- 

:

는이 형식으로 몸을 넣어 필요

Content-Type: multipart/form-data 
Content-Length: 2632 

콘텐츠 길이는 모든 신체의 정확한 크기해야합니다.