问题描述
我的团队正在使用Microsoft bot框架开发聊天机器人,这是我们需要从bot的服务器向Directline API发送附件(图片/ excel / pdf等)的要求。我浏览了文档。(https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-howto-add-media-attachments?view=azure-bot-service-4.0&tabs=csharp)
如前所述,尝试了内联和上传附件逻辑。但是可以发送的附件大小限制为250 Kbs。 我们的要求涉及发送4 Mb大小的附件。
问题-
Case1-是否有任何方法可以增加序列化并作为活动消息发送的JSON的大小限制。(SendActivity)
情况2-上载逻辑也会引发Onturnerror请求内容长度超过262144字节的限制。增加上载限制吗?
该附件还被私人托管在bot服务器内,不能作为Internet附件发送,因为它需要contentUrl中的公共图像。
案例1内联-
getInlineAttachment() {
const imageData = fs.readFileSync(path.join(__dirname,'../resources/architecture-resize.png'));
const base64Image = Buffer.from(imageData).toString('base64');
return {
name: 'architecture-resize.png',contentType: 'image/png',contentUrl: `data:image/png;base64,${ base64Image }`
};
}
案例2 uploadattachment-
async getUploadedAttachment(turnContext) {
const imageData = fs.readFileSync(path.join(__dirname,'../resources/architecture-resize.png'));
const connector = turnContext.adapter.createConnectorClient(turnContext.activity.serviceUrl);
const conversationId = turnContext.activity.conversation.id;
const response = await connector.conversations.uploadAttachment(conversationId,{
name: 'architecture-resize.png',originalBase64: imageData,type: 'image/png'
});
// Retrieve baseUri from ConnectorClient for... something.
const baseUri = connector.baseUri;
const attachmentUri = baseUri + (baseUri.endsWith('/') ? '' : '/') + `v3/attachments/${ encodeURI(response.id) }/views/original`;
return {
name: 'architecture-resize.png',contentUrl: attachmentUri
};
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)