0

ある種のファイルシステムへのアクセスが必要な Web アプリを開発しています。理想的には、ファイルをアプリに「開く...」ことができ、ユーザーが開いた場所のローカルファイルシステムにファイルを「保存」できるようにしたいと考えています。

現在、この機能を実現するために Java アプレットを使用していますが、Java が時代遅れになっているため、javascript と html5 でこれを行う必要があります。

明らかに、これはブラウザーに組み込まれているセキュリティ上の理由から実行できないため、多少エミュレートしようとしています。

私はhtml5ファイルAPIを使用してファイルを正常にインポート/開くので、これで半分の戦いです。難しい部分は、保存機能を取得することです。私は iframe と content-disposition を使用して近づいていますが、ブラウザーがファイルをダウンロード フォルダーに自動的にダウンロードするように設定されていると問題が発生します... ユーザーは混乱し、ダウンロードしたばかりのファイルを見つけることができない場合があります。

だから、私の質問はこれです:ブラウザの「名前を付けて保存...」ウィンドウが少なくともユーザーがファイルを保存したファイル名を返すためのonSaveイベントまたは何らかの方法はありますか?

また、filesystem/fileWriter html5 api を調べましたが、私の理解では、それらはローカル ファイル システムのサンドボックス化された領域に限定されており、chrome dev リリースでのみ使用できます。

どんな助けでも大歓迎です!

4

1 に答える 1

1

いいえ、純粋な JavaScript でそれを行う方法はありません。データURIまたはいくつかのヘッダーを含むiframeでダウンロードをトリガーすることはできますが、ブラウザーのダウンロードマネージャーを回避することはできません.

Flash または Java アプレットを使用して保存を処理するか、ユーザーにリンクを右クリックして名前を付けて保存するように依頼すると、保存先を選択できる場合があります。

Flash を使用する一般的なオプションの 1 つはDownloadifyです。

于 2011-11-17T19:05:34.003 に答える