2016-08-27 36 views
2

我想給使用Microsoft博特框架V3的附件文件(.txt)到Skype客戶端與博特生成器NuGet包(3.2.0)文件附件工作在微軟機器人仿真器,但不是在Skype的

這是怎麼了我創建附件:

var replayFile = new Microsoft.Bot.Connector.Attachment(); 
replayFile.Name = "FileName"; 
replayFile.Content = "ByteArray"; 
replayFile.ContentType = "text/plain"; 

這適用於機器人仿真器(3.0.0.59),但我的Skype客戶端(7.26.0.101)在Windows 10只能看到消息的文本,而不是附件。

我也試過在outlook.com的Skype的Web UI,也沒有附件。

在本文件:https://docs.botframework.com/en-us/csharp/builder/sdkreference/attachments.html

它說:

如果它是一個文件,那麼它只會爲紐帶

來通過這是否意味着,只有這樣才能送使用BotFramework的文件是通過鏈接?直接發送是不可能的?但是它如何使用仿真器來工作?

+0

的可能的複製[發送的圖像,而不是鏈路(https://stackoverflow.com/questions/39246174/send-an-image-rather-a-link) –

回答

3

我不知道爲什麼它在模擬器上工作,但通過發送Content屬性的字節數組,不支持。 然而,根據thisthis評論,可以發送使用base64編碼的數據的URI的附件:

byte[] data = GetAttachmentData(); 
var contentType = "text/plain"; 
var replayFile = new Microsoft.Bot.Connector.Attachment 
{ 
    Name = "FileName.txt", 
    ContentUrl = $"data:{contentType};base64,{Convert.ToBase64String(data)}", 
    ContentType = contentType 
}; 
+0

謝謝。它適用於許多內容類型,包括Excel。 –

+0

在旁註中,您不必指定您上傳的是哪種圖像。 「data:image; base64,...」就像一個魅力。 –

+0

關於如何用Node.js完成這些任何想法? – Srichakradhar

相關問題