0

我正在尝试使用 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");
4

1 回答 1

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 需要是所有正文的确切大小。

于 2016-03-07T20:20:55.640 回答