使用NodeJS中的Microsoft Bot Framework将Excel内容作为附件发送

时间:2018-08-22 16:45:28

标签: node.js botframework mime-types

我试图发送从API接收到的Excel内容作为bot框架中的附件。内容重新编码(附有示例照片),并且内容类型为:“ application / vnd.openxmlformats-officedocument.spreadsheetml.sheet”
Encoded content photo

我尝试这样做:

oMsg.addAttachment({
            contentUrl:  `data:${xlsx.headers['content-type']};base64,${Buffer.from(xlsx.data).toString('base64')}`,
            contentType: xlsx.headers['content-type'],
            name: 'Opportunities.xlsx'
        });

我确实从机器人那里获得了回应,并带有附件作为链接,但是单击它绝对没有任何作用。有什么想法可以解决这个问题吗?

谢谢。

1 个答案:

答案 0 :(得分:3)

Botbuilder不会向用户提供这么多的可下载文件。但是,您可以在expressrestify中构建一个附加的路由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);
})