【问题标题】:Can I upload an image as attachment with Slack API?我可以使用 Slack API 将图像作为附件上传吗?
【发布时间】:2017-09-01 05:57:47
【问题描述】:

我在我的项目中使用 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"
        }
    ]
}

【问题讨论】:

  • 为什么不save->send->delete
  • @ThomasMoors 不起作用。当您删除服务器上的图像时,Slack 也不会再显示它了
  • @ErikKalkoken 如果您将其作为附件发送,那将是不正确的?就像你从你的电脑发送它一样
  • 我认为您的意思是图片上传,这与附件不同。详情见我的回答。

标签: php laravel slack-api


【解决方案1】:

您不能将完整的图片作为附件提交,只能提交图片的 URL。

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

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。

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

【讨论】:

  • @Sarvarnabi Khan 如果此答案解决了您的问题,请考虑将其标记为解决方案。这样这个问题就可以结束了。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-04
相关资源
最近更新 更多