我上传文件时遇到问题。错误描述为“Curl 错误:操作被回调中止”。如果您能帮我解决这个问题,我将非常感激。
public function upload_store(Request $request)
{
$this->validate($request, [
'file' => 'required|mimes:pdf|max:15360',
]);
$file = $request->file('file');
$type = $file->getClientMimeType();
$modulName = 'uploadModul';
$server = 'https://example.com/file/';
$apikey = 'xxxxx-xxxxx-xxxxx-xxxxx';
$data = [
"txtModulName" => $modulName,
"file" => new CurlFile(
$file,
$type,
basename($file)
),
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $server);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: multipart/form-data;',
'ApiKey: '.$apikey.''
));
$result = curl_exec($curl);
if(curl_errno($curl)) echo 'Curl error: '.curl_error($curl);
curl_close($curl);
print'<pre>Curl (rec): '."\n";print_r($result);print'</pre>';
}
我尝试过各种方法,但都没有效果。 任何帮助表示赞赏,谢谢
在 Laravel 中,你应该在 CurlFile 之前添加一个反斜杠,如下所示:
"file" => new \CurlFile(
$file,
$type,
basename($file)
)
\CurlFile
中的反斜杠表示CurlFile
指的是全局命名空间中的CurlFile
类,而不是当前命名空间中的本地类。这可以确保 PHP 正确找到类并避免任何“未找到类”或“未定义类”错误。
CurlFile
的第一个参数需要是文件的路径。