我正在使用MS Bot Framework编写一个Facebook机器人。我能够成功发送文本回复,但似乎无法发送图片。
Microsoft在此处有以下示例-http: //docs.botframework.com/zh-cn/csharp/builder/sdkreference/attachments.html
replyMessage.Attachments.Add(new Attachment()
{
ContentUrl = "https://upload.wikimedia.org/wikipedia/en/a/a6/Bender_Rodriguez.png",
ContentType = "image/png",
Name = "Bender_Rodriguez.png"
});
该代码对我不起作用-它引发以下错误:
你调用的对象是空的。
C:\ Users ------ \ Dropbox \ code \ Bot Application1 \ Bot
Application1 \ Controllers \ MessagesController.cs:line 92中的Bot_Application1.MessagesController.d__0.MoveNext()
第92行是我调用.Attachments.Add()方法的地方。
我试图修改代码以确保其中没有null属性,因此我添加了非null的Content和ThumbnailUrl,但这也不起作用(使用或不使用这两个参数)。调用Add()方法时,与上述错误完全相同。
Activity reply3 = activity.CreateReply("blah");
Attachment pic = new Attachment();
pic.ContentUrl = "https://upload.wikimedia.org/wikipedia/en/a/a6/Bender_Rodriguez.png";
pic.ContentType = "image/png";
pic.Name = "Bender_Rodriguez.png";
pic.Content = "Test";
pic.ThumbnailUrl = pic.ContentUrl;
reply3.Attachments.Add(pic);
await connector.Conversations.ReplyToActivityAsync(reply3);
我究竟做错了什么?
原来,您需要添加文档中未提及的行:
reply3.Attachments = new List<Attachment>();
初始化附件后,它可以正常工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句