UWP,Directline API图像上传Bot框架

时间:2017-03-21 23:53:24

标签: uwp bots botframework direct-line-botframework

我正在尝试使用UWP(通用Windows平台)和Direct line api来实现ChatBot应用程序。 这就是我想要实现的目标

  1. UWP ChatBot客户端应该可以启动相机,拍照。 拍摄的照片保存在某个本地文件夹中。
  2. 接下来,ChatBot应该能够使用
    将图片上传到Bot 直接线路API上传。
  3. 这里我不想使用FileOpenPicker控件。我想指定文件路径并调用Direct Line Upload API。

    我能够从以下使用"文件选择控制"的API测试页面上传图像文件。 https://docs.botframework.com/en-us/restapi/directline3/#

    我想知道甚至可以通过指定文件路径来上传? (不使用文件选择控件)

2 个答案:

答案 0 :(得分:0)

我终于能够在不使用FileOpenPicker的情况下解决了问题。

首先,我通过以下方式将图片保存在本地存储中。

with slim.arg_scope(inception.inception_v3_arg_scope()):
                logits, _ = inception.inception_v3(images, num_classes=numClass, is_training=True)

然后我用图像作为字节数组调用DirectLine上传API。 现在它在我的本地计算机上工作正常。 但不是很确定,这种方法适用于移动等其他设备。

答案 1 :(得分:0)

  

我终于能够在不使用FileOpenPicker的情况下解决了问题。

     

首先,我通过以下方式将图片保存在本地存储中。

ApplicationData.Current.LocalFolder.GetFolderAsync("tmp")

使用临时应用数据是正确的方向,请参阅此文档:Store and retrieve settings and other app data

  

临时应用数据存储的工作方式类似于缓存。它的文件不会漫游   并且可以随时删除。系统维护任务可以   随时自动删除存储在此位置的数据。该   用户还可以使用磁盘清除临时数据存储中的文件   清理。临时应用程序数据可用于存储临时数据   应用会话期间的信息。无法保证这一点   数据将作为系统持续到应用程序会话结束之后   如果需要,可以回收使用过的空间。该位置可通过   temporaryFolder属性。

在移动设备上,相同的代码应该有效。