通过 Slack 交互按钮上传图片

Posted

技术标签:

【中文标题】通过 Slack 交互按钮上传图片【英文标题】:Uploading image via Slack interactive button 【发布时间】:2019-10-31 19:29:24 【问题描述】:

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

按钮点击调用对话框:

如果我在“URL”字段中输入图像的公共 URL,它将成功发送到后端,并且我可以使用图像更新后端生成的消息。但是,我不想在某处上传文件并将其复制到那里,而是在对话框中单击“上传图像”并从磁盘中选择文件。这可能吗?

【问题讨论】:

【参考方案1】:

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

但您可以使用在浏览器中运行并由 Slack 的 link button 调用的上传脚本自行实现。这类似于this example 用于文件下载。

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

这是基本大纲:

    用户点击消息中的“添加图片”按钮 Browse 打开并运行上传脚本 上传脚本要求用户指定要上传的文件 脚本上传文件(例如到您的服务器或 Slack)并将其链接到 用户的请求

需要考虑的事项:

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

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

What is the best way to upload files in a modern browser Using files from web applications

【讨论】:

嗨,埃里克。我已将答案标记为已回答,但请详细说明。所以我想去'用脚本路径自己实现'->我该如何继续?对话框是否能够在必须实现文件上传的地方呈现我的自定义 js/css/html?有哪些步骤可以使其正常工作? 您不能在对话框中执行此操作。而是在消息中提供一个 Slack 链接按钮(例如,在“添加注释”按钮旁边),该按钮调用脚本。让我扩展我的答案。

以上是关于通过 Slack 交互按钮上传图片的主要内容,如果未能解决你的问题,请参考以下文章

slack api : 上传到 slack 频道的文件

图片拍照上传解决方案

vue点击上传图片,vue上传oss,vue-cropper图片裁剪功能

图片选择,预览及上传

springMVC上传图片,json交互

ckeditor添加自定义按钮整合swfupload实现批量上传图片