将文件附加为多部分/表单数据内容类型-Laravel


attach file as multipart/form-data content-type - Laravel

我正在使用FreshDesk API作为票务系统。在尝试发送附件时,有人指出应将其作为多部分/表单数据内容类型发送。有人能解释一下是怎么做到的吗?!我如何发送附件:

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

我不知道您是如何查询API的,但如果您使用的是CURL,只需设置适当的头:

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

我个人推荐Guzzle,它有一个干净和直接的API。在Guzzle中,你可以用更OO的方式修改你的标题。有几种方法可以完成你的任务。可能的方法是:

$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顺便说一句,与Laravel融合是小菜一碟。只要在你的composer.json中要求它,你就可以出发了!