DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> XML技術上傳文件1
XML技術上傳文件1
編輯:XML詳解     

引言

  為了在Html網頁中獲得上傳功能,在客戶端我們可以使用如下格式的FORM:

< FORM NAME="myForm" ACTION="TargetURL.ASP" ENCTYPE="multipart/form-data"METHOD="post" >
< INPUT TYPE="file" NAME="myFile" >
< INPUT TYPE="submit" VALUE="Upload File" >
< /FORM >

  這種方案在客戶端和服務器端的使用都有很多限制。首先,我們必須使用POST方法,因為GET方法無法處理這樣的表單數據。並且,沒有什麼方法可以在不使用表單的情況下引發一個POST動作。把數據發送給表單處理程序後,浏覽器將會把處理程序作為新頁面加載,然後使用者會看到一個不討人喜歡的頁面轉換過程。

  ENCTYPE屬性為表單定義了MIME編碼方式,上傳文件的表單的ENCTYPE屬性必須使用“multipart/form-data”。把這個屬性設置為“multipart/form-data”就創建了一個與傳統結構不同的POST緩沖區(復合結構),ASP的Request對象無法訪問這樣的表單內容。所以,我們可以使用Request.binaryRead方法來訪問這些數據,但是無法使用腳本語言來完成這一切。Request.binaryRead方法返回一個VTarray型數據(只包含無符號一字節字符的Variant型數組)。但是腳本語言只能處理Variant型數據。為了解決這個問題,只能使用專用的ASP上傳組件,或者ISAPI擴展程序,比如CPSHOST.DLL。這是設計上的限制。

  新的上傳方案

  需要按照如下步驟操作。

  客戶端:

  使用MSXML 3.0創建一個XML文檔

  創建一個針對二進制內容的XML節點

  使用ADO Stream object將上傳的文件數據放入該節點

  使用XMLHTTP對象把這個XML文檔發送給Web服務器

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved