0

ユーザーがファイルをアップロードできるasp.net Webサイトがあります。現在、ファイルストリームでこれを行っています。ユーザーがボタンをクリックすると、サイト ルート > ダウンロード > フォルダー idofuser > ファイル名の下にフォルダーが作成されます。これよりも良い方法はありますか。つまり、サイト外のアプリケーションの特定の場所にあるすべてのファイル???. アクセス用のパスはデータベースに保存されず、ファイル ストリームの相対フォルダーにファイルをリストするだけです。多分私たちはそれを別のアドバイスにするべきですか?

必要な数のファイルをアップロードできます。現在、月に約 30,000 を取得しています。フォルダー構造が原因で、フォルダーの速度が低下しているため、6 か月以上前のフォルダーを hd の新しい場所にアーカイブしました。たくさんのファイルがあり、最初は問題ありませんでしたが、今では 600 ギグを超える価値があり、少し悪夢のようです。1 つのフォルダーの下に何十万ものフォルダーが残っています。

私はたくさんの記事と質問を読みましたが、何が最善のことなのかまだわかりません。2つの例を参照してください。ファイルのアップロード先 Web アプリケーションへ

ASP.NET Web サイトと Visual Studio を使用してユーザーがアップロードしたファイルを管理する

現在、現在の社内ホスティングからサーバー ファームへの移行を計画しています。私たちのように非常に多くのファイルがある場合、これは非常に高価に思えます。アプリケーション/ Web サイト用に 1 つ、ファイルとデータベース用に 1 つ、2 つのサーバーが必要です。または1つで十分です。明らかにお金は方程式の大きな部分を占めていますが、ポンドなどにとって何が最善かについて良い考えを得ようとしています. 良いものはアドバイスしてください. また、ファイルをどのように保存してアクセスする必要がありますか。サブドメインなどを使用する必要があり、どのように使用する必要がありますか。

質問が退屈にならないように願っています。よろしくお願いします

4

1 に答える 1

1

ファイルを一意の名前 (Guid) でサーバーに保存し、データベースへのパスを保存する方がよいのではないでしょうか。このようにして、システム上のすべてのファイルをループすることなく、非常に高速なデータベースにクエリを実行するだけで済みます。そして、誰かがファイルを要求したら、それをユーザーに渡してください。これは本当に速いと思います。このようにして、毎月または毎日ファイルを実行してアーカイブするスクリプトを作成することもできます。そして、ファイルへの新しいパスでアーカイブされていることを示すフラグをレコードに設定します。これは毎晩自動的に行うことができます。

于 2013-03-25T13:52:26.513 に答える