我正在尝试使用Gitlab API v4将我的应用程序与Gitlab集成。现在,我正在尝试在项目中上传文件。
使用cURL,文件可以正确上传。但是,当我在Laravel / PHP中使用枪口时,出现了一些问题,它说
文件无效
这是我的cURL
curl --request POST --header "PRIVATE-TOKEN: {api-token}" https://gitlab.com/api/v4/projects/usamarehank%2Flabel-functionality/uploads --form "file=@../../../public/storage/defect/2q4.jpg"
这是我的食欲
$client = new Client([
// Base URI is used with relative requests
'base_uri' => $currBase[1].'/',
// You can set any number of default request options.
// 'timeout' => 2.0,
]);
try {
$projectNamespace = self::convertToURLEncoded($gitlabData[0]->channel);
$response = $client->request('POST', '/api/v4/projects/'.$projectNamespace.'/uploads',[
'headers' => [
'Private-Token' => $gitlabData[1]->apikey,
'Content-Type' => 'multipart/form-data'
],
'form_params' => [
'file' => ' @../../../public/storage/defect/2q4.jpg'
]
]
);
}
// catch for bad credentials exception
catch (GuzzleHttp\Exception\BadResponseException $e){
return ['status' => false, 'msg' => 'Incorrect Credentials'];
}
// if 200 then successful
if($response->getStatusCode() === 201 || $response->getStatusCode() === 200){
$responseContent = json_decode($response->getBody(), true);
self::insertGeneratedIssueDetails($responseContent, $_projectID, $_defectID);
return ['status' => true, 'msg' => 'Authentication Successful'];
}
我不知道自己在做什么错,我想上传文件。我已关注this API doc
我们将不胜感激任何帮助。