【发布时间】:2016-09-08 07:58:30
【问题描述】:
在我的机器人中,我想接受来自用户的附件。 我知道如何接收它们:
public async Task<Message> Post([FromBody]Message message)
{
if (message.Type == "Message")
{
if (message.Attachments.Count > 0)
{
foreach (var afile in message.Attachments)
{
lstFiles.Add(afile.ContentUrl);
}
}
我在这里所做的是将它们存储在 lstFiles 中,这是类 MessagesController 私有的字符串列表:ApiController,这样我知道我可以拥有这些文件及其 URL
当用户在 Do 事件中回答完问题(我正在使用 FormFlow)时,我将他的输入存储在 Azure 存储表中
internal static IDialog<VGMData> MakeRootDialog()
{
return Chain.From(() => FormDialog.FromForm(VEMData.BuildForm))
.Do(async (context, order) =>
{
var completed = await order;
StoreAndSendEmailConfirmations(completed);
await context.PostAsync("And I am done... ..");
}
我不明白如何才能访问 .Do 函数中的附件,以便我可以在 azure blob 中为用户提交的文件和他的对话启动下载和后续存储。我似乎唯一拥有的是“上下文”和“订单”,即用户数据回复但没有附件文件。 我可以到那里 lstFiles,但恐怕它可能包含来自不同同时用户和对话的文件。
提前致谢, 罗马
【问题讨论】:
标签: botframework