(摘自《計算機世界日報》) 1. HTTP 方 式 的 文 件 上 載 ---- 文 件 的 上 載( upload) 是 制 作 網(wǎng) 站 時 經 常 遇 到 的 問 題, 經 常 上 網(wǎng) 的 朋 友 大 都 使 用 過WEB 方 式 的Email 發(fā) 信. 操 作 大 體 是 這 樣: 當 選 擇 了 粘 貼 文 件 后, 直 接 輸 入 本 地 文 件 的 絕 對 路 徑 或 按BROWSER 按 鈕 瀏 覽 要 粘 貼 的 文 件, 而 后 確 認. 在 這 個 過 程 中 實 際 上 就 實 現(xiàn) 了HTTP 方 式 的 文 件 上 載.( 其 中BROWSER 按 鈕 在 中 文 版 的Netscape 和IE4 中 顯 示 為” 瀏 ..”). 這 里 文 件 從 客 戶 端 到 服 務 器 的 上 載 是 由HTTP 協(xié) 議 的 通 用 網(wǎng) 關 界 面(CGI) 支 持 的. 這 種 上 載 方 式 要 求 瀏 覽 器 和WEB Server 兩 方 面 都 能 夠 支 持Rfc1867. Netscape 的Web Server 和 瀏 覽 器 以 及IE4.0 都 支 持CGI 方 式 的 上 載, 但 是 微 軟 的Web Server IIS 還 不 能 提 供 這 樣 的 功 能. 也 就 是 說, 如 果 我 們 要 想 使 用ASP 實 現(xiàn) 文 件 上 載, 還 必 須 對IIS 進 行 配 置. 在 網(wǎng) 上 可 以 下 載 這 樣 的Active Server Componet, 或 者 用VB 等 開 發(fā) 工 具 為IIS 編 寫 一 個 這 樣 的Active Server Componet 來 支 持Rfc1867. 由 于 采 用HTTP 方 式 上 載 文 件 對 使 用 者 來 說 是 最 直 接 和 方 便 的, 相 信 大 家 對 下 面 的ASP 實 例 一 定 會 感 興 趣.
2. ASP 編 程 實 例
---- 為 了 使 大 家 對HTTP 方 式 的 上 載 有 一 個 感 性 的 認 識, 最 好 能 實 際 運 行 以 下 這 個 例 子. 這 個 簡 單 的 例 子 有 兩 個 文 件. 一 個 是upload.html, 一 個 是up.asp. upload.html 中 有 一 個FORM, 它 有 兩 個 按 鈕” 瀏 覽..” 和” 上 載”, 用 戶 在 文 本 框 中 輸 入 文 件 在 本 地 的 絕 對 路 徑 或 通 過 瀏 覽 選 中 文 件 后 就 可 以 用” 上 載” 按 鈕 將 文 件 上 載. 而IIS 上 的up.asp 將 會 把 文 件 存 到 服 務 器 上 的 指 定 路 徑 下.
---- 2.1 upload.html 文 件
< HTML > < HEAD >< TITLE > 請 上 載 文 件< /TITLE >< /HEAD >
< BODY >
< form enctype="multipart/form-data" method="post" action="up.asp" >
輸 入 上 載 文 件 的 名 稱: < input type="file" name="f1" >< br >
< input type="submit" value=” 上 載” >
< /form >
< /BODY >
< /HTML >
2.2 up.asp 文 件 < %@ LANGUAGE="VBSCRIPT" % >
< HTML >< HEAD >
< TITLE > 上 載 文 件 測 試< /TITLE >
< /HEAD >
< BODY >
您 的 文 件 已 經 上 傳 成 功!.< br >
< % Set upl = Server.CreateObject("SoftArtisans.FileUp") % >
< % upl.SaveAs "d:\upload\test.out" % >< BR > 文 件 長 度: < %=upl.TotalBytes% > < /BODY > < /HTML >
---- 2.3 例 子 說 明
---- 在HTML 中 FORM 必 須 有 ENCTYPE="multipart/form-data".
---- < INPUT TYPE="FILE" > 也 是 必 須 的.
---- 當 對FORM 確 認 后, 瀏 覽 器 將 會 傳 送 指 定 文 件 的 內 容.
---- 在ASP 中 實 際 上 只 用 了 兩 條 語 句 就 實 現(xiàn) 了 上 載
---- < % Set upl = Server.CreateObject("SoftArtisans.FileUp") % >
---- < % upl.SaveAs "d:\upload\test.out" % >
---- 第 一 條 語 句 使 用 一 個SoftArtisans.FileUp 的 對 象 創(chuàng) 建 了 一 個 名 為 upl 的 實 例, 這 里 用 到 了 一 個 稱 為SA-FileUp 的Active Server Componet. 第 二 條 語 句 將 上 傳 的 內 容 保 存 在 服 務 器 上.
---- 為 了 運 行 這 個 例 子, 需 要 到http://www.serverpages.com/upload 站 點 下 載 這 個Active Server Componet, 并 用 它 配 置 微 軟 的IIS 或Personal Web Server. 以 上 實 例 筆 者 在IIS3.0 和I E4,Netsapce4.0 運 行 通 過.
|