【问题标题】:UWP, Directline API Image Upload Bot FrameworkUWP,Directline API 图像上传机器人框架
【发布时间】:2017-03-28 13:35:51
【问题描述】:
我正在尝试使用 UWP(通用 Windows 平台)和 Direct line api 来实现 ChatBot 应用程序。
这里我想要实现的是
- UWP ChatBot 客户端应该能够启动相机,拍照。
拍摄的照片保存在某个本地文件夹中。
- 接下来,ChatBot 应该能够使用
将图片上传到 Bot
直接线路 API 上传。
这里我不想使用 FileOpenPicker 控件。我想指定文件路径并调用 Direct Line Upload API。
我能够从以下使用“文件选择控件”的 API 测试页面上传图像文件。
https://docs.botframework.com/en-us/restapi/directline3/#
我想知道是否可以通过指定文件路径来上传? (不使用文件选择控件)
【问题讨论】:
标签:
uwp
bots
botframework
direct-line-botframework
【解决方案1】:
我终于能够在不使用 FileOpenPicker 的情况下解决问题。
首先我将图片保存在通过以下方式返回的本地存储中。
ApplicationData.Current.LocalFolder.GetFolderAsync("tmp")
然后我用图像作为字节数组调用 DirectLine Upload API。
现在它在我的本地计算机上工作正常。
但不太确定,这种方法适用于移动设备等其他设备。
【解决方案2】:
我终于能够在不使用 FileOpenPicker 的情况下解决问题。
首先我将图片保存在通过以下方式返回的本地存储中。
ApplicationData.Current.LocalFolder.GetFolderAsync("tmp")
使用临时应用数据是正确的方向,请看这个文档:Store and retrieve settings and other app data
临时应用数据存储就像缓存一样工作。它的文件不会漫游
并且可以随时删除。系统维护任务可以
随时自动删除存储在此位置的数据。这
用户还可以使用磁盘从临时数据存储中清除文件
清理。临时应用数据可用于存储临时
应用会话期间的信息。不能保证这
数据将持续到应用会话结束后作为系统
如果需要,可能会回收已使用的空间。该位置可通过
temporaryFolder 属性。
在移动设备上,相同的代码应该可以工作。