2014-11-02 36 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

那麼......什麼不起作用? – 2014-11-02 10:00:30

+0

@PatrickReck當附件字段時,不會發送任何內容。當我刪除它時,評論發送成功 – omarsafwany 2014-11-02 10:03:55

回答

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 

內容長度必須是所有機構的確切大小。