4

C# WinForms アプリケーションで CefSharp (v37.0.0 NuGet パッケージ) を使用しています。ファイルのアップロード アクションを (プログラムで) トリガーする方法を探しています。もしそうなら、どのようにそれを行うことができますか? いくつかの追加の考え:

  • 通常、ユーザーがファイルを選択するページにファイルアップロードダイアログがあります。これは正常に動作し、IDialogHandler を介してダイアログ呼び出しをインターセプトし、ファイルを提供します。
  • ここで、同じダイアログをトリガーして、ファイルを事前設定します。ダイアログは「ExecuteScriptAsync」呼び出しから正常に開きますが、ファイルを事前に選択することはできません。次の理由が考えられます:ファイル パス html5 を使用してファイル オブジェクトを作成/初期化する方法
  • 次のアイデアは、ダイアログを通常どおり開き、プログラムでクリック イベントを発行して、ブラウザーがファイル ダイアログを開くようにすることでした (その後、IDialogHandler を介してキャッチし、必要なファイルを提供します)。
  • このアプローチを試すと、次のような観察結果が得られます。
  • ユーザー アクション (ブラウザ内のボタン クリックなど) に続いて、ファイル入力ボタンをプログラムで "クリック" できます。
  • ExecuteScriptAsync を介して発信された呼び出しから同じことを行うと、ダイアログ (または IDialogHandler での呼び出し) は表示されません。
4

3 に答える 3