通过 Slack 交互按钮上传图片

Uploading image via Slack interactive button

我在后端生成的消息底部放置了这样的交互按钮:

点击按钮调用对话框:

如果我在 'URL' 字段中输入图像的 public URL,它会成功发送到后端,并且我能够更新后端生成的消息一个图像。但是我不想在某处上传文件并将其复制到那里,而是想单击对话框中的 'upload image' 和磁盘中的 select 文件。这可能吗?

没有。 Slack Dialogs 当前不支持上传文件。

但您可以使用在浏览器中运行并由 link button from Slack. This would work similar to this example 调用以下载文件的上传脚本自行实现。

link 按钮是消息按钮的变体,必须放置在消息中(例如添加注释按钮旁边),但不能放置在对话框内。

基本大纲如下:

  1. 用户点击消息中的 "Add image" 按钮
  2. 浏览打开并运行上传脚本
  3. 上传脚本要求用户指定上传哪个文件
  4. 脚本上传文件(例如到您的服务器或 Slack)并 links 到 用户的要求

需要考虑的事项:

  • 您必须 link 当前会话与您的脚本,例如通过在 link 中传输 ID(这可能会引发安全问题)
  • 此上传功能不会像您的对话框那样是模态的,因此您的应用需要能够处理文件的异步/并行上传

查看这些页面以了解有关通过浏览器上传文件的更多详细信息: