2012-02-10 9 views
1

私の質問は、私がやっていることを知る上でより良い方法があれば嬉しいです。Localhost web-app。ブラウザでファイルへの完全なパスを取得する

私は、 PythonのWebフレームワーク。私はjQuery、HTML、CSSを使って "app"にグラフィカルフロントエンドを書いて、ブラウザー(firefox)でローカルホストのアドレスに移動します。 QTやPyQtなどのツールで提供される機能をUIを設計するためのhtmlやcssの柔軟性が必要なので、これをやっています。

ここに問題があります: 私のアプリケーションの重要な部分は、プログラムが動作するディスク上のファイルへの完全なパスを取得することです。だから、ユーザーが完全な時間を入力しないように、私はファイル選択のダイアログをそれらのために記入したいと思っています。しかし、私はセキュリティ上の理由から、ブラウザはその完全なパスが通らないようにしています。

普通のサーバークライアントの設定では、ファイルへの完全なパスは決して役に立たないと私は理解していますが、この場合、サーバーとクライアントは同じものであり、セキュリティ面

私は愚かな方法でこの問題に近づいていますか?ファイルブラウザに、選択しているファイルへのフルパスを返すように依頼する方法はありますか?あるいは、私は別の道を完全に見つける必要がありますか?

ありがとうございます! Murphy

答えて

2

1つのアプローチは、サーバーと通信することです。クライアントはパス "home"(または空の文字列)で始まり、サーバーは物理パス( "c:\ users \ me"または "/ home/me")を返し、サーバー内のサブフォルダとファイルのリストあなたがサーバーに他のパスを与えると、それはあなたにその他のパスについての情報を返します。新しいマウントやドライブがシステムに現れたとき(usbキーなど)、通知するのが難しい部分です。

次に、フル特権サーバーが提供する情報を使用してクライアントでファイルピッカーを作成できます。実際には、適切なJSライブラリを使用することで、コード作成が難しくなく、さまざまなプロジェクトによって行われていますが、(余分な作業以外に)ファイルピッカーがシステムファイルのピッカーと比較して見えなくなるという問題がありますユーザーは慣れています。

+0

ありがとう、エマニュエル!私は今それをする方法を学んだが、これは他の誰かが似たような質問をしているなら、将来の参照のために良い。 – splodingsocks

+0

これをどのようにして回答したのか説明してください。 – blackirishman

+0

@blackirishman私は今それを読んで、何を追加するか分からない。それはかなりです。 –

関連する問題