我使用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
)
)
);
答案 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>