78

更新時間: 2013-09-04

廣告

上載和上傳是同義詞。上傳是指由本機傳送電子數據到遠程電腦上的動作。要開始上傳動作的話,必須兩台電腦間已經連接,並且通過特定的通信協定溝通,例如HTTP、FTP等。

上載 -上載

    上載(upload),在通訊中,通過數據機或網路將文件的副本從本地計算機傳輸到遠程計算機的過程。使用基於數據機的通訊連接,該過程一般涉及引導遠程計算機準備接收其磁碟上的文件然後等待傳輸開始。  

   照片上傳就是將信息從個人計算機(本地計算機)傳遞到中央計算機(遠程計算機)系統上,讓網路上的人都能看到。將製作好的網頁、文字、圖片等發布到互聯網上去,以便讓其他人瀏覽、欣賞。這一過程稱為上傳。「上傳」的反義詞是「下載」

上載 -上傳的來源

   上傳一詞來自英文(upload),拆開來「up」為「上」,「load」為「載」,故上傳也叫上載,與下載(download)是逆過程。

廣告

上載 -分類

   上傳分為Web上傳和FTP上傳,前者直接通過點擊網頁上的鏈接即可操作,後者    
需要專用的FTP工具。

上載 -上傳的區別


  WEB上傳與FTP上傳的區別

   WEB上傳:即通過瀏覽器來上傳文件 。

   1、通過瀏覽器上傳文件,按照「操作嚮導」一步步操作完成,用戶無須培訓;

   2、通過分配用戶許可權發布課件,簡單,安全;

   3、支持斷點續傳,支持大文件上傳; 

  4、上傳文件屬性(格式,上傳時間,人員等)自動生成,方便快捷;

   5、上傳后的文件,配有審核機制,保證課件質量;

廣告

   6、審核后的文件,自動歸類,用戶通過校園網瀏覽;

   7、WEB上傳需要有一定的網頁內容支持(包括上面所說的很多功能。)

   FTP上傳:簡稱文件傳輸協議,通過FTP上傳。

   1、上傳之前,需要安裝專業上傳軟體,並對軟體加以學習,用戶需要學習上傳軟體;

   2、需要建立FTP伺服器及配置設置,專業性強;

   3、支持斷點續傳,無需重新上傳,支持大文件上傳;

   4、FTP上傳后,需要從後台手工輸入文件屬性,費時費力;

   5、FTP上傳后的文件,沒有審核機制; 

  6、FTP上傳的文件后需要手工進行歸類,比較煩麻; 

  7、但FTP上傳具有WEB上傳絕無僅有的優勢,就是可以批量上傳、批量整理,不受太多限制。

廣告

上載 -小知識

  在上傳主頁之前,讓我們先來認識Internet上一個基本的概念———FTP。它是英文「File Transfer Protocol」(文件傳輸協議)的縮寫,不過我們今天已經把它看成了一個動詞,意思是說在計算機和計算機之間傳輸文件。把自己製作好的主頁上傳到伺服器上,就要用到FTP。   有許多種方法可以把主頁文件上傳到Internet伺服器上,下面是常見的五種方法。
1、使用FTP軟體上傳主頁文件
  這是最常用、最方便也是功能最為強大的主頁上傳方法。現在網上這類軟體很多,像CuteFtp、WS-Ftp已經廣受網友歡迎。這類軟體除了可以完成文件傳輸的功能以外,還可以通過它們完成站點管理、遠程編輯伺服器文件等工作,一些常用的FTP軟體還有斷點續傳、任務管理、狀態監控等功能,可以讓你的上傳工作變得非常輕鬆。
2、使用「兼職」的FTP軟體上傳主頁文件
  所謂兼職的FTP軟體,是指軟體本身並不是專門用來完成FTP功能的,主頁上傳只是其編外任務。例如我們常用的Front?Page、Dreamweaver、東方主頁王Ⅱ等都有主頁上傳、發布的功能。使用這類軟體的好處是可以在編輯主頁的同時就上傳到伺服器上查看主頁效果,省去了啟動軟體、登錄、設置等諸多麻煩。但是,這種方法往往上傳速度較慢,且難以對伺服器上的文件進行管理。
3、使用Web頁面上傳主頁文件
  和前面兩種方法相比,這種方法不但沒有什麼明顯的優點,而且速度緩慢、操作麻煩、不支持斷點續傳。但是,如果你恰恰申請了一個這樣的不支持FTP的免費主頁空間,那麼就只能使用這種笨拙的方法了!
4、通過命令上傳主頁文件
  在很久很久以前,Unix系統上的FTP程序是基於命令行的,現在的Window95/98/NT/2000/Me仍然有基於命令行的FTP程序(進入DOS模式,輸入FTP就可以了)。使用這種方法首先要掌握幾十條命令不說,而且屏幕上通常只能顯示25或50行文字,很不方便。圖形界面的FTP軟體流行之後,這種方法已經被大多數網友拋棄了,只供少數骨灰級的網蟲練習他們的指法。
5、通過E-mail上傳
  這種方法要求你把主頁文件通過E-mail發給系統管理員,然後再由系統管理員把它們放到伺服器上。這是最簡單也是最複雜的方法,隨著網路條件的提高,這種方法已逐漸銷聲匿跡了。

廣告

上載 -大文件上傳

  以前也做過文件上傳,但都是些小文件,不超過2M。 這次要求上傳100M以上的東西。 沒辦法找來資料研究了一下。基於WEB的文件上傳可以使用FTP和HTTP兩種協議,用FTP的話雖然傳輸穩定,但安全性是個嚴重的問題,而且FTP伺服器讀用戶庫獲取許可權,這樣對於用戶使用來說還是不太方便。 剩下只有HTTP。在HTTP中有3種方式,PUT、WEBDAV、RFC1867,前2種方法不適合大文件上傳,目前我們使用的web上傳都是基於RFC1867標準的HTML中基於表單的文件上傳。 

  一、先簡要介紹一下RFC1867(Form-based File Upload in HTML)標準:

廣告

   1.帶有文件提交功能的HTML表單 

  現有的HTML規範為INPUT元素的TYPE屬性定義了八種可能的值,分別是:CHECKBOX, HIDDEN,MAGE,PASSWORD,RADIO,RESET,SUBMIT,TEXT。 另外,當表單採用POST方式的時候,表單默認的具有「application/x-www-form-urlencoded」的enctype屬性。

   RFC1867標準對HTML做出了兩處修改:

   (1)為INPUT元素的TYPE屬性增加了一個FILE選項。

   (2)INPUT標記可以具有ACCEPT屬性,該屬性能夠指定可被上傳的文件類型或文件格式列表。

廣告

   另外,本標準還定義了一種新的MIME類型:multipart/form-data,以及當處理一個帶有ENCTYPE="multipart/form-data" 並且/或含有<INPUT type="file">的標記的表單時所應該採取的行為。 

  舉例來說,當HTML表單作者想讓用戶能夠上傳一個或更多的文件時,他可以這麼寫:

   <FORM ENCTYPE="multipart/form-data" ACTION="_URL_" METHOD=POST> 

  File to process: 

  <INPUT NAME="userfile1" TYPE="file"> 

  <INPUT TYPE="submit" VALUE="Send File"> 

  </FORM> 

  HTML DTD里所需要做出的改動是為InputType實體增加一個選項。此外,我們也建議用一系列用逗號分隔的文件類型來作為INPUT標記的ACCEPT屬性。

   ... (其他元素) ... 

  <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX |   RADIO | SUBMIT | RESET |   IMAGE | HIDDEN | FILE )"> 

  <!ELEMENT INPUT - 0 EMPTY> 

  <!ATTLIST INPUT   TYPE %InputType TEXT   NAME CDATA #IMPLIED -- required for all but submit and reset 

  VALUE CDATA #IMPLIED 

  SRC %URI #IMPLIED -- for image inputs -- 

  CHECKED (CHECKED) #IMPLIED 

  SIZE CDATA #IMPLIED --like NUMBERS, 

  but delimited with comma, not space 

  MAXLENGTH NUMBER #IMPLIED 

  ALIGN (top|middle|bottom) #IMPLIED 

  ACCEPT CDATA #IMPLIED --list of content types   >   ... (其他元素) ...

   2.文件傳輸延遲 

  在某些情況下,在確實準備接受數據前,伺服器先對錶單數據中的某些元素(比如說用戶名,賬號等)進行驗證是推薦的做法。但是,經過一定的考慮后,我們認為如果伺服器想這樣做的話,最好是採用一系列的表單,並將前面所驗證過的數據元素作為「隱藏」欄位傳回給客戶端,或者是通過安排表單使那些需要驗證的元素先顯示出來。這樣的話,那些需要做複雜的應用的伺服器可以自己維持事務處理的狀態,而那些簡單的應用的則可以實現得簡單些。   HTTP協議可能需要知道整個事務處理中的內容總長度。即使沒有明確要求,HTTP客戶端也應該提供上傳的所有文件的內容總長度,這樣一個繁忙的伺服器就能夠判斷文件的內容是否是過大以至於將不能完整地處理,從而返回一個錯誤代碼並關閉該連接,而不用等到接受了所有的數據才進行判斷。目前一些現有的CGI應用對所有的POST事務都需要知道內容總長度。   如果INPUT標記含有一個MAXLENGTH屬性,客戶端可以將這個屬性值看作是伺服器端所能夠接受的傳送文件的最大位元組數。在這種情況下,伺服器能夠在上傳開始前,提示客戶端在伺服器上有多少空間可以用來進行文件上傳。但是應該引起注意的是,這僅僅是一個提示,在表單被創建后和文件上傳前,伺服器的實際需求可能會發生改變。   在任何情況下,如果接受的文件過大的話,任何一個HTTP伺服器都有可能在文件傳輸的過程中中斷傳輸。  

 3.傳輸二進位數據的其他解決辦法 

  有些人曾經建議使用一種新的MIME類型"aggregate",比如說aggregate/mixed 或是content-transfer-encoding "包"來描述那些不確定長度的二進位數據,而不是靠分解為多個部分來表示。雖然我們並不反對這麼做,但這需要增加額外的設計和標準化工作來讓大家接受並理解"aggregate"。 從另一方面來說,"分解為多部分"的機制工作得很好,能夠非常簡單的在客戶發送端和伺服器接受端加以實現,而且能像其他一些綜合處理二進位數據的方式一樣高效率地工作。 

廣告

廣告