媒体上传文件大小():上传错误统计失败 Laravel - TwitterOauth

Media upload filesize(): stat failed for uploads error Laravel - TwitterOauth

我正在使用 Abraham 的 https://twitteroauth.com/ 包从 Laravel 应用程序发送 Twitter 消息。

我还使用 Laravel 任务调度来调度消息。 我还需要用这个包发送媒体 twitter 消息。它工作正常。但它不适用于 laravel 任务计划控制台命令。

我的推特消息发送代码是这样的:

                $screenshot = $this->takeScreenShot();
                $media = $this->twitter->upload('media/upload', array('media' => "uploads/$screenshot", 'media_type' => 'image/png'), true);
                $parameters = [
                    'status' => $twitterMsg,
                    'media_ids' => implode(',', [$media->media_id_string])
                ];
                $result = $this->twitter->post('statuses/update', 

$parameters);

它抛出这个错误:

filesize(): stat failed for uploads/screenshots_1620116807.png

at vendor/abraham/twitteroauth/src/TwitterOAuth.php:417
  413▕             'shared',
  414▕         ];
  415▕         $base = [
  416▕             'command' => 'INIT',
➜ 417▕             'total_bytes' => filesize($parameters['media']),
  418▕         ];
  419▕         $allowed_parameters = array_intersect_key(
  420▕             $parameters,
  421▕             array_flip($allowed_keys),

    +3 vendor frames
4   app/Services/TwitterService.php:219
    Abraham\TwitterOAuth\TwitterOAuth::upload() 

如何解决控制台任务命令的这个错误?

谢谢

这可能是因为您在 media 上提供的 uploads/screenshots_1620116807.png 相对路径。尝试传递到媒体的绝对路径,例如通过 storage_pathpublic_path 辅助方法:

$media = $this->twitter->upload('media/upload', [
    'media' => public_path("uploads/$screenshot"),
    'media_type' => 'image/png',
], true);