私は最近、HTML5 の機能の一部を使用して、デスクトップからドラッグ アンド ドロップでファイルをフォームにアップロードできるようにするコードを Moodle に提供しました (コードのコア部分はこちら: https://github.com/moodleです)。 /moodle/blob/master/lib/form/dndupload.js参照)。
ユーザーが実際のファイルの代わりにフォルダー/ディレクトリをドラッグする場合を除いて、これはうまく機能しています。次に、ガベージがサーバーにアップロードされますが、ファイル名はフォルダーと一致します。
私が探しているのは、FileListオブジェクト内のフォルダーの存在を検出するための簡単で信頼性の高い方法であるため、それをスキップできます (おそらくわかりやすいエラー メッセージも返されます)。
MDN のドキュメントと、より一般的な Web 検索を調べましたが、何も見つかりませんでした。また、Chrome 開発者ツールのデータを調べたところ、ファイル オブジェクトの「タイプ」はフォルダーに対して一貫して「」に設定されているようです。ただし、これが最も信頼性の高いクロスブラウザー検出方法であるとは確信していません。
誰にもより良い提案がありますか?