Gura 6与Laravel的多部分问题

时间:2016-07-01 12:50:34

标签: php file api laravel guzzle

我正在尝试通过Laravel中的Guzzle将文件上传到RESTFUL Api。 我在控制器中完美地获取文件并将其存储在本地,然后再将其发送到api。 但当然,它不想要,我无法弄清楚为什么......

$path = fopen(Config::get('bts.ajaxCall').'temp/' . $filename, 'r');

$params['file'] = [
   'name'     => 'file',
   'contents' => $path,
];

以下是我通过请求发送的参数:

   $response = $this->connecter->requestUpload($url, ['file' => $params['file']], [], 'POST', false);
    $data = json_decode($response->getBody()->getContents());

这是我的请求函数

public function requestUpload($url, $parameters = [], $headers = [], $requestType = 'POST', $debug = false)
{
    $user = Auth::user();


     $role = 0;

    return $this->client->request($requestType, $url, [
        'multipart' => $parameters,
        'auth' => (!is_null($user) ? [$user->email, Session::get('api_token')[0]] : null),
        'headers' => [
            'X-Product' => isset($headers['product_token']) ? $headers['product_token'] : Config::get('bts.product_token'),
            'Accept-Language' => isset($headers['language_code']) ? $headers['language_code'] : 'en',
            'X-Role' => $role,                
            'User-Agent' => $_SERVER['HTTP_USER_AGENT'],
            'X-Disable-Translation-Id' => true
        ],
        'debug' => $debug,
        'decode_content' => false,
    ]);
}

这是我在转储输入文件时从api获得的响应

  object(stdClass)#762 (1) {
  ["request"]=>
  object(stdClass)#760 (0) {
  }
}

我已经为我的请求做了很多设置。我跟着guzzle文档,它不起作用,我达到了我的文件参数但空了..我检查了我的fopen和我发送的链接是正确的我得到了我想要的图像。

我对找到解决方案感到绝望。

0 个答案:

没有答案