如何将图像 URL(存储在 GCS 中的图像)转换为二进制文件以将图像上传到 facebook 图 API

How to convert Image URL (image stored in GCS) to binary for uploading image to facebook graph API

我正在尝试使用 Go 中的 facebook 图 API 更新 WhatsApp 个人资料图片。由于图表 API 只接受二进制图像文件,而我的图像文件已经上传到 google 存储桶中,我需要将文件转换为二进制文件。

当我尝试通过创建 MediaURL 和下面的代码从 GCS 读取文件时 returns 错误。它说“没有这样的文件或目录”。 url 在浏览器中打开。

bytes, err := ioutil.ReadFile(gcsUrl)

你收到一个错误,因为它试图解析你本地的路径,而不是远程路径

首先需要拉取镜像

resp, err := http.Get(gcsUrl)
   if err != nil {
        return "", fmt.Errorf("GET error: %v", err)
    }
defer resp.Body.Close()

然后您可以读取该数据data, err := ioutil.ReadAll(resp.Body)

ReadAll 采用 io.Reader 类型的数据并且 resp.Body

兼容