-1
Curlを使用してファイルアップロードREST APIを呼び出しようとしていますが、空白の画面が返されます。 ファイルアップロードAPIは、成功した場合にファイル名を返します。 同じこと、私はpostmanツールを使用してfule upload rest apiを呼び出すことができます。CURL Fileupload REST API
エラー:
{
"Message": "An error has occurred.",
"ExceptionMessage": "Sequence contains no matching element",
"ExceptionType": "System.InvalidOperationException",
"StackTrace": " at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)\r\n at PharmaRackv2.WebUI.Areas.Admin.Controllers.UploadController.d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Threading.Tasks.TaskHelpersExtensions.d__3`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ApiControllerActionInvoker.d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.d__1.MoveNext()"
}
PHPコード:
try {
$file = "D:\xampp\htdocs\api.pharmarack.com\distributors\11380\08122017123602.zip";
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://test.com/api/upload",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => array(
'attachment' => curl_file_create($file),
),
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: multipart/form-data",
"distributorcode: 1HUBH",
"foldername: 1HUBH"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
} catch (Exception $e) {
echo 'Message: ' . $e->getMessage();
}
POSTMANのCALL それが正常に動作しています。成功した場合、ファイルアップロードAPIはファイル名を返します。