ファイルアップロード機能は、ASPにおけるコンポーネントアップロード技術またはコンポーネントレスアップロード技術を利用して実現できます。これにより、ASP のコンポーネントレス アップロード テクノロジを使用して、実際の FTP サーバーと同様に仮想 FTP サーバーを確立し、複数のユーザーにリモート ファイル管理を提供できます。同時に、各ユーザーは自分のドキュメントのみを操作できます。 。
ファイルがアップロードされると、ASP は FSO またはデータベースを使用してファイル データを保存できます (一部のサーバーは FSO 機能を提供しません)。ここでは、ユーザーがアップロードしたファイルを保存するためにデータベースを使用します。データベースを使用する利点については説明しませんが、利点はたくさんあります。もう 1 つの理由は、IIS ではファイルのアップロード サイズが制限されているため (おそらく最大 200 KB)、データベース メソッドを使用すると、再開テクノロジを使用してこの制限を突破でき、非常に大きなファイル、非常に大きなファイル、無限に大きなファイルなどをアップロードできます。 。
*****************
(あはは、かなりくだらない話をしました。まず原理と実装方法について話してから、それをソフトウェアを使用して実装する方法について話しましょう)
*****************
● ステップ 1:サーバー上にデータベースを作成します (ACCESS、SQL-SERVER、MYSQL はすべて使用できます)。より簡単なのは ACCESS です。データベースに 2 つのテーブルを作成します。
アップロードユーザー管理:admin(ID、名前、パスワード、種類)
アップロードされたファイル データを保存します: ファイル (ID、ParentID、FileName、FileLength、FileType、FileData、UpDate、UserID)。
FileLength=0 の場合はフォルダーであることを意味し、ユーザーごとにルート フォルダーが作成されます。
● ステップ 2:ユーザーのログイン ページを作成し、SESSION を使用してユーザーの ID を保存し、ファイルに対する操作を制限します。
Session("名前") = リスト("SName")
Session("UID") = list("ID")
● ステップ 3:ユーザーホームページの作成 (ユーザーがアップロードしたファイルを表示)
strSQL = "SELECT * FROM files WHERE ParentID=" & userRootID ' userRootId はユーザーのルート フォルダーの ID です
strSQL = strSQL & " AND UserID=" & SESSION("UID")
strSQL = strSQL & " ORDER BY FileName"
● ステップ 4:ファイル ページ list.AddNew をアップロードします。
list("親ID") = ユーザールートID
list("ファイル名") = フォーム("名前")
list("ファイルの長さ") = Form("長さ")
list("ファイルタイプ") = フォーム("タイプ")
list("FileData").AppendChunk MidB(sdata,Form("Start"),Form("Length"))
list("ユーザーID") = セッション("UID")
list("UpDate") = Now()
list.Update
● ステップ 5:ファイル管理操作 (ファイル ID を使用してファイルを識別し、ユーザーの操作を制限します)
削除: "DELETE * FROM files WHERE ID=" & iID & " AND UserID=" & Session("UID")
ダウンロード: "SELECT * FROM files WHERE ID=" & iID & " AND UserID=" & Session("UID")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open myConnStr
Set list = conn.Execute("SELECT * FROM files WHERE ID=" & iID & " AND UserID=" & Session("UID"))
list.EOF でない場合は、
list("FileLength") > 0 の場合
Response.AddHeader "Content-disposition", "inline; filename=" & list("FileName")
Response.ContentType = リスト("ファイルタイプ")
Response.Binarywrite(list("FileData").GetChunk(list("FileLength")))
終了の場合
End If
● 他のいくつかの補助操作ページを完了するだけです。もちろん、ブラウザの制限により、ファイル アップロード再開テクノロジは直接使用できず、クライアント ソフトウェアを介してのみ実装できます。インターネット上には、上記の機能を実現する「Upload File Manager」というソフトウェア(ASPソースコードを含む)が存在します。以下では、このソフトウェアを使用して独自の仮想 FTP サーバーを作成する方法について説明します。
ソフトウェアのダウンロード アドレス: http://www.blue999.com/webfiles/uploadfiles_setup.exe
***************
(非常に複雑です。シンプルにしてください。「アップロード ファイル マネージャー」を使用して仮想 FTP サーバーを実装する方法を見てみましょう。)
***************
● 1. ソフトウェアをダウンロードしてインストールした後、ソフトウェアに付属の ASP ファイルを FTP ソフトウェアを使用して Web サイトにアップロードします (Web ファイルへのアップロードなど)。
● 2. クライアント ソフトウェアを実行し、アップロードされたフォルダーへのサーバー パスを設定します。スーパー管理者のユーザー名とパスワードは両方とも admin です。
● 3. ユーザー管理を実行し、ユーザーがアップロードしたファイルの追加、削除、変更、有効化/無効化、サイズの制限を行います。
● 4. OK、仮想 FTP サーバーが確立され、すべてのユーザーが (クライアント上の) ソフトウェアを介してファイルを管理します。ソフトウェアはエクスプローラーと同様に動作します。
● 5. このソフトウェアには、いくつかのアプリケーション例の ASP ソース コードも提供されています。ご自身で確認してください。