在代码的这一点上,我有一个img
变量,它包含一个以base-64编码的图像。通过登录img
并将输出粘贴到美化base-64图像编码器的代码中,我已经确认base-64图像是正确的。
现在,我正在尝试弄清楚如何发布到Slack API。我已经阅读了Slack的files.upload方法API文档,其中说它们接受多部分表单数据或application / x-www-form-urlencoded,但是我不知道如何从Base-64转换为node.js。完成转换后,我也不知道如何使用request.post进行实际的发布,因为我不清楚如何为松弛请求编码相关信息。
当前,我正在尝试以下操作:
request.post({ url: 'https://slack.com/api/files.upload',
formData: {
token: slackToken,
tile: "Image",
filename: "image.png",
filetype: "auto",
channels: "testing",
file: img,
},
}, function (err, response) {
// just for debugging
console.log(JSON.parse(response.body));
});
得到回应:
{ ok: false, error: 'no_file_data' }
,这很有意义,因为Slack不接受img
的base-64编码
任何帮助,不胜感激!
答案 0 :(得分:0)
首先,如果base64编码以qemu: fs.img xv6.img
$(QEMU) -serial mon:stdio $(QEMUOPTS)
qemu-nox: fs.img xv6.img
$(QEMU) -nographic $(QEMUOPTS)
现在file system可以帮助我们通过writeFileSync转换为文件,该文件接受文件的base64编码并将文件写入系统。我想找到一种方法来完成此操作,而不会产生向系统中写入文件的副作用,但是还无法实现。
准备就绪后,我们可以使用新创建文件的路径作为data:image/png;base64,
参数来进行松弛发布请求。下面的工作代码:
file