の基準に基づいて、ファイルやフォルダを削除します。すべてのフォルダとファイルをWindowsサーバーに保存し、フォルダとファイル情報をSQLデータベースに保存します。毎回サーバー上にフォルダやファイルを作成し、データベースから一意のIDを付けて名前を付けます。例:contact〜432cace7-a39c-4db5-a38f-9efe5d289bbf.pdfダウンロードして、私はC#を使用してASP.NETで文書管理システムに取り組んでいます
ここでは、同じフォルダにアクセスし、アクセスに基づいて削除およびダウンロードする方法が必要な異なるユーザーがいます。
例:私は2人のユーザ、ユーザ1及びユーザ2を有しています。私は2つのファイルを含むフォルダ-1を持っています。 file-1はuser-1とfile-2によってuser-2によってアップロードされます。ユーザー-1がブラウザのページでファイルを表示すると、database-queryに基づいて、folder-1とそのファイル-1が表示されます。しかし、ユーザ1がダウンロードのためにフォルダ1を選択すると、Windowsサーバに行き、物理的にサーバ1上の同じフォルダ内にあるので、ファイル1とファイル2の両方をダウンロードする。同じことが削除の場合もあります。
は、どのように私は、このシナリオを扱うことができますか?
基本的には、SQLでの取り扱いは、リレーショナルデータベースと非常に簡単ですが、私はこれが効率的にWindowsサーバ上で行うことができる方法を考えていますか?
私の考え:IDのリストを返し、それに基づいてダウンロードジップまたは削除を生成するDBストアドプロシージャを呼び出します。しかし、フォルダとファイルのネストが可能なので、パフォーマンスはどれくらい効率的になりますか? JSファイルで
:
ユーザーは、ブラウザのURLを使用して、ファイルやフォルダに直接移動することはできますか?自分のファイルをダウンロードするために使用されたURLフォーマットに基づいてファイル名を推測するだけで、誰かがelsesファイルをダウンロードできますか? – PhillipH
ユーザーはファイル名を推測できますが、その名前に関連付けられたファイルの一意のGUIDを推測することはできません。 uは上記の私の例に気付いた場合と同様に、ファイル名やフォルダ名は形式になります。名前は〜のGUID – user2272865