2017-03-21 2 views
0

私は、UWP(Universal Windows Platform)とDirect Line APIを使用してChatBotアプリケーションを実装しようとしています。 ここで達成したいのはUWP、Directline API画像アップロードボットフレームワーク

  1. です。UWP ChatBotクライアントはカメラを起動して写真を撮ることができるはずです。 撮影した画像は、ローカルフォルダに保存されます。
  2. 次に、チャットボットは
    ダイレクトラインAPIアップロードを使用して画像をボットにアップロードできるはずです。

ここでは、FileOpenPickerコントロールを使用したくありません。ファイルパスを指定し、ダイレクトラインアップロードAPIを呼び出したいと思います。

"File Select Control"を使用している次のAPIテストページからイメージファイルをアップロードできました。 https://docs.botframework.com/en-us/restapi/directline3/#

ファイルパスを指定してアップロードすることもできますか? (File Select Controlを使用しないで)

答えて

0

FileOpenPickerを使用せずについに解決できました。

まず、以下の手順でRetailされたローカルストレージにPictureを保存しました。

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

次に、バイト配列としてイメージを使ってDirectLine Upload APIを呼び出しました。 ローカルコンピュータで正常に動作しています。 しかし、このアプローチはモバイルなどの他のデバイスでも問題ありません。

0

FileOpenPickerを使用せずについに解決できました。

まず、以下の手順でRetailされたローカルストレージにPictureを保存しました。一時的なアプリのデータを使用して

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

は正しい方向で、このドキュメントを参照してください。Store and retrieve settings and other app data

一時的なアプリデータストアは、キャッシュのように動作します。ファイルは をローミングせず、いつでも削除することができます。システムメンテナンスタスクでは、いつでもこの場所に保存されているデータを自動的に削除できます。 ユーザーは、ディスク クリーンアップを使用して、一時データストアからファイルを消去することもできます。テンポラリアプリデータは、アプリセッション中の一時的な 情報の保存に使用できます。この データがアプリケーションセッションの終了を超えて持続する保証はありません。 システムは必要に応じて使用済み領域を再利用する可能性があります。場所は temporaryFolderプロパティで利用できます。

モバイルデバイスでは、同じコードが有効です。