Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Botframework 提示用户使用MS Bot Framwork v4在对话框流中上载文件_Botframework - Fatal编程技术网

Botframework 提示用户使用MS Bot Framwork v4在对话框流中上载文件

Botframework 提示用户使用MS Bot Framwork v4在对话框流中上载文件,botframework,Botframework,我有一个需要用户上传文件的对话框流。我想提示用户,让他们点击一个按钮,打开一个文件浏览窗口,选择他们想要上传的文件。我不想使用WebChat窗口文本输入框中的文件选择器(用户发现这令人困惑)。这可能吗?我在v3的文档中看到有一个AttachmentPrompt对话框。然而,在v4的文档中,我在这里只看到一行中提到它。。。然而,除了听起来很有希望之外,似乎没有关于此功能的文档 谢谢你能提供的任何帮助 PrompAttachment不定义客户端渲染或客户端文件上载代码。为了让WebChat控件响应自

我有一个需要用户上传文件的对话框流。我想提示用户,让他们点击一个按钮,打开一个文件浏览窗口,选择他们想要上传的文件。我不想使用WebChat窗口文本输入框中的文件选择器(用户发现这令人困惑)。这可能吗?我在v3的文档中看到有一个AttachmentPrompt对话框。然而,在v4的文档中,我在这里只看到一行中提到它。。。然而,除了听起来很有希望之外,似乎没有关于此功能的文档


谢谢你能提供的任何帮助

PrompAttachment不定义客户端渲染或客户端文件上载代码。为了让WebChat控件响应自定义按钮,您需要为Web Chat控件提供附件中间件,并让bot发送自定义附件类型

自定义附件:

private class FileUpload : Attachment
{
    public FileUpload()
        : base("application/uploadAttachment") { }
}
var reply = activity.CreateReply("Upload a File");                        
reply.Attachments.Add(new FileUpload());
await connector.Conversations.SendToConversationAsync(reply);
正在答复文件上载附件:

private class FileUpload : Attachment
{
    public FileUpload()
        : base("application/uploadAttachment") { }
}
var reply = activity.CreateReply("Upload a File");                        
reply.Attachments.Add(new FileUpload());
await connector.Conversations.SendToConversationAsync(reply);
网页托管网络聊天:

<!DOCTYPE html>
<html>
<body>
    <div id="webchat" />

    <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
    <script src="https://unpkg.com/react@16.5.0/umd/react.development.js"></script>
    <script src="https://unpkg.com/react-dom@16.5.0/umd/react-dom.development.js"></script>
    <script src="https://unpkg.com/react-redux@5.0.7/dist/react-redux.min.js"></script>
    <script src="https://cdn.botframework.com/botframework-webchat/latest/webchat.js"></script>

    <script>
        function uploadFile() {
            document.querySelector('[title="Upload file"]').click();
        }

    </script>
    <script type="text/babel">
        var chatbot = new WebChat.createDirectLine({
            token: 'YourToken',
            webSocket: true,
        });

        const attachmentMiddleware = () => next => card => {
            switch (card.attachment.contentType) {
                case 'application/uploadAttachment':
                    return (<button type="button" onClick={uploadFile}>Upload file</button>);

                default:
                    return next(card);
            }
        };

        WebChat.renderWebChat({
            directLine: chatbot,
            botAvatarInitials: 'Bot',
            attachmentMiddleware,
        }, document.getElementById('webchat'));

    </script>
</body>
</html>

函数uploadFile(){
document.querySelector('[title=“Upload file”]')。单击();
}
var chatbot=new WebChat.createDirectLine({
令牌:“YourToken”,
webSocket:没错,
});
const attachmentMiddleware=()=>next=>card=>{
开关(卡.附件.内容类型){
案例“应用程序/上传附件”:
返回(上传文件);
违约:
返回下一张(卡片);
}
};
WebChat.renderWebChat({
电话线:聊天机器人,
BotAvatariInitials:“Bot”,
附件:,
},document.getElementById('webchat');

如何使用.NET而不是JS实现这一点?我已经尝试过实现同样的目标,但我正在努力,而且明显缺乏关于创建中间件来处理自定义按钮的文档或示例。这是一个.net的例子。js是客户端,用于呈现“application/uploadAttachment”自定义附件。WebChat自定义呈现的一些示例可以在WebChat GitHub中找到:这可以在团队中而不是在WebChat中实现吗?现在,向bot发送文件似乎在上被禁用Teams@GuillaumeLabs为了能够将文件上载到团队中的bot,清单需要有supportsFiles:true