Laravel Curl 错误:操作被回调中止

问题描述 投票:0回答:1

我上传文件时遇到问题。错误描述为“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>';
    }

我尝试过各种方法,但都没有效果。 任何帮助表示赞赏,谢谢

php laravel curl
1个回答
0
投票

在 Laravel 中,你应该在 CurlFile 之前添加一个反斜杠,如下所示:

"file" => new \CurlFile(
    $file,
    $type,
    basename($file)
)

\CurlFile
中的反斜杠表示
CurlFile
指的是全局命名空间中的
CurlFile
类,而不是当前命名空间中的本地类。这可以确保 PHP 正确找到类并避免任何“未找到类”或“未定义类”错误。

CurlFile
的第一个参数需要是文件的路径。

© www.soinside.com 2019 - 2024. All rights reserved.