如何解决无法从Microsoft网络聊天机器人框架在浏览器的新选项卡中导航pdf
我无法通过在Web聊天机器人框架中使用Attachment
传递URL来在浏览器的新标签页中打开pdf。我的代码段如下。
Attachment attachment = new Attachment();
attachment.ContentType = "application/pdf";
attachment.ContentUrl = DocUrl;
attachment.Name = "Name";
var response = helper.CreateResponseWithSuggestions(valueDataState.suggessionReply,attachment);
await turnContext.SendActivityAsync(response).ConfigureAwait(false);
-----在助手中------
public Activity CreateResponseWithSuggestions(Activity SuggestionsActivity,Attachment attachment)
{
var response = SuggestionsActivity;
response.Attachments = new List<Attachment>() { attachment };
return response;
}
解决方法
不幸的是,将PDF文件作为附件传递给漫游器,然后在新标签页/窗口中打开将不起作用。 Azure Bot服务允许临时托管文件,然后供其他人下载。这些文件也只是临时存储。但这并不意味着要托管(存储)文件然后将其作为链接使用。
您需要先将文件存储在某个位置,然后才能获取链接到该文件的URL。然后,您应该发送带有执行openUrl
操作的按钮的英雄卡或类似的东西,而不是发送附件,否则将打开指向存储文件的链接。查看06.using-cards示例以获取有关设置的信息。您还可以参考docs以获得其他上下文。
CardFactory.heroCard(
'BotFramework Hero Card',CardFactory.images(['https://sec.ch9.ms/ch9/7ff5/e07cfef0-aa3b-40bb-9baa-7c9ef8ff7ff5/buildreactionbotframework_960.jpg']),CardFactory.actions([
{
type: 'openUrl',title: 'Get started',value: 'https://docs.microsoft.com/en-us/azure/bot-service/'
}
])
);
希望有帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。