将文件附加为multipart / form-data content-type - Laravel

时间:2014-10-30 15:49:12

标签: php multipartform-data

我使用FreshDesk API作为票务系统。在尝试发送附件时,声明它应该作为multipart / form-data内容类型发送。有人可以解释一下这是怎么做的吗?! 我如何发送附件:

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

1 个答案:

答案 0 :(得分:0)

我不知道您如何查询API,但如果您使用CURL,只需设置相应的标题:

curl_setopt($ch , CURL_HTTPHEADER , "Content-Type: multipart/form-data" );

就个人而言,我建议Guzzle具有干净,直接的API。 在Guzzle中,您可以更多OO-Way修改标题。有几种方法可以完成您的任务。可能的方法可能是:

$client = new GuzzleHttp\Client();
$request = $client->createRequest('POST', 'https://url.com/to/post/to');
$request->setHeader('content-type', 'multipart/form-data');
// Set the data you need to

$response = $client->send($request);
var_dump($response);

Guzzle btw,是与Laravel整合的小菜一碟。只需在你的composer.json中加入,就可以了![/ p>