Facebook Graph API上传照片的质量非常差


Facebook Graph API uploads photos at really bad quality

我有一个Facebook应用程序,它会自动连接到Facebook(每5分钟使用cron)并更新页面的封面照片。

除了一件事外,一切都很正常:上传的照片质量真的很差。这张照片是一张尺寸为851x315、小于100kb的jpeg。

以下是我上传的方式:

    $response = $this->session->post('/me/photos', [
        'caption' => $caption,
        'source' => $this->session->fileToUpload($imageLocation),
        'no_story' => true
    ], $pageToken);

奇怪的是API使图像失真,但如果我生成图像并手动上传,那么它在Facebook上看起来很好。有什么把戏吗?我是不是错过了什么?

显然问题是我上传了一个jpg。无论jpg的大小(宽度、高度或文件大小),Facebook都会试图操纵它

在我的情况下,解决方案是使用PNG(即使文件大小更大)。