将文件附加到笔记 - freshdesk

时间:2014-11-02 09:49:36

标签: laravel multipartform-data ticket-system freshdesk

我正在尝试使用API​​将附件发送到故障单,确保它已发送multipart / form-data但是我无法这样做.API文档没有显示语法示例它应该是发送,所以我无法弄清楚如何这样做。 如何发送数据:

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");

1 个答案:

答案 0 :(得分:0)

你做错了,请注意附件需要在multipart / form-data中,并且你试图将主体作为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

Content-Length必须是所有身体的确切大小。