我试图发送从API接收到的Excel内容作为bot框架中的附件。内容重新编码(附有示例照片),并且内容类型为:“ application / vnd.openxmlformats-officedocument.spreadsheetml.sheet”
我尝试这样做:
oMsg.addAttachment({
contentUrl: `data:${xlsx.headers['content-type']};base64,${Buffer.from(xlsx.data).toString('base64')}`,
contentType: xlsx.headers['content-type'],
name: 'Opportunities.xlsx'
});
我确实从机器人那里获得了回应,并带有附件作为链接,但是单击它绝对没有任何作用。有什么想法可以解决这个问题吗?
谢谢。
答案 0 :(得分:3)
Botbuilder不会向用户提供这么多的可下载文件。但是,您可以在express
或restify
中构建一个附加的路由API,以提供下载功能。
您可以尝试以下代码段:
let hostUrl = `http://localhost:3978`;
var bot = new builder.UniversalBot(connector, [
(session) => {
session.send({
text:'downliad file',
attachments: [{
contentUrl: `${hostUrl}/xlsx`,
name: 'test.xlsx'
}]
})
}
]);
server.get('/xlsx', (req, res, next) => {
const request = require('request');
request.get(`<the excel api you get from>`).pipe(res);
})