我可以使用Slack API上传图像作为附件吗?

时间:2017-09-01 05:57:48

标签: php laravel slack-api

我在项目中使用cURL集成了Slack API 我想发送图片作为我的附件。它在image_url中发送完整图像路径时有效。但是,当我将该图像转换为base64字符串然后使用image_url传递它时,它不会作为附件。

所以基本上我想发布base64字符串作为我的图片附件。因为我不想将图像存储在我的服务器上。

{"attachments":
    [
        {
            "fallback": "Required text summary of the attachment that is shown by clients that understand attachments but choose not to show them.",
            "image_url":"",
            "text":"",
            "color":"#7CD197"
        }
    ]
}

1 个答案:

答案 0 :(得分:2)

您无法将完整图片作为附件提交,只能提交图片的网址。

如果您想将图像上传到Slack,可以使用files.upload进行上传。以下是从Slack文档上传GIF图像的卷曲示例:

curl -F file=@dramacat.gif -F channels=C024BE91L,#general -F token=xxxx-xxxxxxxxx-xxxx https://slack.com/api/files.upload

另一种方法是使用图片托管服务商(例如http://imgur.com)上传和存储您的图片(通过他们的API)。然后,您可以在附件中包含图片网址。

我个人更喜欢第二种选择,因为它更灵活地在邮件和图像中包含图像URL,因此不会减少您在Slack上的宝贵存储空间。