㈠ 怎樣使用javaweb實現上傳視頻和下載功能
文件上傳就是將客戶端資源,通過網路傳遞到伺服器端。
因為文件數據比較大,必須通過文件上傳才可以完成將數據保存到資料庫端的操作。
文件上傳的本質就是IO流操作。
演示:文件上傳應該如何操作?
瀏覽器端:
1.method=post 只有post才可以攜帶大數據
2.必須使用<input type='file' name='f'>要有name屬性
3.encType="multipart/form-data"
伺服器端:
request對象是用於獲取請求信息。
它有一個方法 getInputStream(); 可以獲取一個位元組輸入流,通過這個流,可以讀取到
所有的請求正文信息.
文件上傳原理:
瀏覽器端注意上述三件事,在伺服器端通過流將數據讀取到,在對數據進行解析.
將上傳文件內容得到,保存在伺服器端,就完成了文件上傳。
注意:在實際開發中,不需要我們進行數據解析,完成文件上傳。因為我們會使用文件上傳的工具,它們已經封裝好的,提供API,只要調用它們的API就可以完成文件上傳操作.我們使用的commons-fileupload,它是apache提供的一套開源免費的文件上傳工具。
代碼演示文件上傳的原理:
在WebRoot下新建upload1.jsp
[html]view plain
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
<html>
<head>
<title>MyJSP'index.jsp'startingpage</title>
</head>
<body>
<!--encType默認是application/x-www-form-urlencoded-->
<formaction="${pageContext.request.contextPath}/upload1"
method="POST"enctype="multipart/form-data">
<inputtype="text"name="content"><br>
<inputtype="file"name="f"><br><inputtype="submit"
value="上傳">
</form>
</body>
</html>
packagecn.itcast.web.servlet;
importjava.io.IOException;
importjava.io.InputStream;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
//System.out.println("upload1servlet......");
//通過request獲取一個位元組輸入流,將所有的請求正文信息讀取到,列印到控制台
InputStreamis=request.getInputStream();
byte[]b=newbyte[1024];
intlen=-1;
while((len=is.read(b))!=-1){
System.out.println(newString(b,0,len));
}
is.close();
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doGet(request,response);
}
}
在web頁面中添加上傳輸入項。
在Servlet中讀取上傳文件的數據,並保存在伺服器硬碟中。
1、必須設置input輸入項的name屬性,否則瀏覽器將不會發送上傳文件的數據。
2、必須把form的encType屬性設為multipart/form-data 設置該值後,瀏覽器在上傳文件時,並把文件數據附帶在http請求消息體內,並使用MIME協議對上傳的文件進行描述,以方便接收方對上傳數據進行解析和處理。
3、表單的提交方式要設置為post。
Request對象提供了一個getInputStream方法,通過這個方法可以讀取到客戶端提交過來的數據。但由於用戶可能會同時上傳多個文件,在servlet端編程直接讀取上傳數據,並分別解析出相應的文件數據是一項非常麻煩的工作,示例。
為方便用戶處理文件上傳數據,Apache 開源組織提供了一個用來處理表單文件上傳的一個開源組件( Commons-fileupload ),該組件性能優異,並且其API使用極其簡單,可以讓開發人員輕松實現web文件上傳功能,因此在web開發中實現文件上傳功能,通常使用Commons-fileupload組件實現。
使用Commons-fileupload組件實現文件上傳,需要導入該組件相應支撐jar包:Commons-fileupload和commons-io。commo-io不屬於文件上傳組件的開發jar文件,但Commons-fileupload組件從1.1版本開始,它工作時需要commons-io包的支持。
新建Upload1Servlet 路徑:/upload1
[java]view plain
在瀏覽器端訪問信息如下:
文件上傳概述
實現web開發中的文件上傳功能,需要完成如下二步操作:
如何在web頁面中添加上傳輸入項?
<input type="file">標簽用於在web頁面中添加文件上傳輸入項,設置文件上傳輸入項時注意:
如何在Servlet中讀取文件上傳數據,並保存到本地硬碟中?
㈡ web開發 怎麼把多個文件壓縮
你可以用前端自動化工具(gulp,grunt等)結合前端模塊化打包工具(webpack)等進行實現
㈢ webzip離線瀏覽器,怎麼批量下載天涯或貓撲的帖子
離線瀏覽器 WebZIP 2.x 下載實戰 2000-02-25 出處:CPCW責任編輯: p align="left">WebZIP是由spidersoft出品的離線瀏覽工具,以功能強大,界面美觀而著稱,是同類軟體中最出色的產品之一。它的主要作用,是縮短網路用戶的在線瀏覽時間以節省費用。一般來講,離線瀏覽工具按其功能分主要有兩類,一種是cache(緩存)瀏覽器,它可以查看已經瀏覽過的網頁,但在上網時依然需要用Navigator、Internet Explorer等瀏覽器一個網頁接一個網頁地「瀏覽」一遍----為了節省時間,很多用戶此時根本不看網頁的內容,而只是將網頁資料傳到cache中即算完成任務。但這種方法速度仍然不夠快,因為一次只能傳送一個網頁。另一種則是離線瀏覽器,它的主要功能是將網站下載到硬碟,離線後再做查閱,比起cache瀏覽器,他的主要優點為:可以同時下載多個網頁,而且可以網站原封不動地下載下來,如果要做鏡像站,那是極為方便的。而本文要介紹的WebZIP,就屬於這一類。 WebZIP不僅可以將網站的全部或部分文件下載過來,並可以自動壓縮成為zip文件,瀏覽時再自動解壓到一個臨時目錄,節省了硬碟空間。此外WebZIP還擁有可直接調用Internet Explorer、Netscape等WWW瀏覽器進行離線瀏覽的功能。在此筆者將給出一個下載示例,以幫助大家盡快掌握WebZIP的使用方法。 一、下載示例 (1)、設定下載站台 WebZIP的主界面如圖一所示。在下載網站之前,我們要先設定下載的目標站台。方法是在WebZIP的快捷工具欄中點擊「Task」,正文框中將顯示出下載任務列表,這時在「Address」欄中填寫目標站台,比如「 http://www.jlonline.com 」(金陵熱線)。 圖一WebZIP主界面 (2)、具體設置 填好目標站台後,點擊「Go」按鈕,將會出現下載任務設立對話框,如圖二。 在「Task Name」中填寫任務名稱,在「Profile」中選擇下載站台的方式,共有以下幾個選擇:默認模式、下載指定站台目錄下的全部內容、下載指定站台目錄下的文本與圖像、下載指定頁面中的全部內容、下載指定頁面中的文本與圖像、下載指定站台中的全部內容、下載指定站台中的文本與圖像。 圖二 下載任務設立對話框 接著可以對下載任務進行一些詳細設置。包括: Starting address:在「Starting URL」 欄中詳細填寫欲下載的站台的起始URL地址,如果該站台需要口令登錄,可復選「Site requires a password」欄,然後按下「User Name/Password」按鈕,在「Account」中填寫帳戶名稱,「Password」 中填寫口令。 Save to:Webzip 2、50提供了兩種下載網站的存檔方式。一種為將下載下來的網站存為你的區域網中的一部分,另一種則是將站台下載後打包成Zip文件存入磁碟,用戶在此可以選擇下載方式,對於普通用戶,推薦使用第二種存檔方式。 Filetypes:在此選擇下載站台里的哪些文件。我們知道,有很多WWW站台的組成是非常復雜的,除了組織站台的Html文件外,還有其他多種文件以實現其多媒體和交互功能。而用戶需要下載的可能只是其中的部分文件。在「Filetypes」中,用戶可指定下載文件的類型。在「Select Filetypes」框中,用戶可選擇下載全部文件或指定下載HTML文件、圖像文件、聲頻文件、視頻文件、Java文件、 ActiveX、插件、可執行文件、還是其它類型文件,方法是在文件類型的名稱前打個勾。此外由於同一類型文件往往有有多種格式,比如圖像文件有jpg、gif等,若你只想下載其中的jpg文件,可以雙擊「Images」,再在樹型選單中用滑鼠點選。其它類型的文件也可按此方式進行詳細設定。 Followed Links:現在的Internet網站已變得越來越復雜,絕大多數的網站是由許多個頁面組成的,在「Followed Links」里,用戶可填寫下載的網站層數。 URL Filters:URL過濾器。在此你可以指定下載或拒收包含某些特殊字元或短語的資料。具體內容可在「Include」欄或「Exclude」欄中填寫。 Link Conversion:改變鏈接地址。當用戶將站台下載到本地硬碟後,有些指向伺服器的鏈接地址(使用了絕對路徑)將不能使用。WebZIP提供了這項功能,可幫助用戶改變鏈接地址,讓用戶下載下來的站台在本地硬碟上也能很好的運行。用戶可將此對話框中兩個選項復選上。 Schele:設立下載時間表。由於下載網站往往是一個漫長的過程,因此,很多用戶希望能夠做到在一個指定時間上(比如網路速度較快時、ISP收費較少時)開始下載。在「Schele」項中,你可在「At:」欄里填寫開始下載的時間點。 (3)、下載 一切准備就緒後,就可以下載了。方法是按下「Task」工具中的「Run」按鈕。如果用戶在下載網站時發生中斷,不要緊,WebZIP支持斷點續傳,這次沒下載完下次繼續努力!如圖三。 圖三 用WebZIP下載站台 在下載過程中,我們可以隨時觀察下載狀況。點擊工具欄中的Exolore,可看到正在下載的文件的名稱、大小、標題等。此外每個文件的前面都有一個標記,下載完畢的文件都是以勾號標記,後面的Status欄是Parsed。如果下載過來的文件出錯,就可以命令WebZIP下次重新下載它。方法是用滑鼠選擇該文件,單擊滑鼠右鍵,在彈出的菜單中選擇Mark for update,這時文件前的標記改變,下次WebZIP會記著更新這個文件。而點擊工具欄中的「Connection」,則可查看當前建立的連接,默認是同時連接10個文件進行下載,可以通過Connections滑標進行調整。靠右的「Download Priority」滑標是選擇傾向於優先下載網頁還是傾向於優先下載其它文件資源。 在WebZIP界面在最下方的狀態欄中,顯示了總共連接的時間(由於任務可以分數次進行,這里顯示的是總時間)、已經下載的頁面、出現的錯誤、下載速率等等。並有傳輸、暫停的快捷工具按鈕。 在下載完畢後,WebZIP會彈出提示,並自動將下載的內容打包成為一個zip文件。 二、離線瀏覽 用WebZIP下載網站的目的就是為了離線瀏覽。下載完畢後,點工具欄上的Browse按鈕,WebZIP首先將打包壓縮的網站文件解壓到一個臨時目錄,隨後調用系統默認的瀏覽器進行瀏覽,雙擊工具欄中的「Browse」按鈕可以擴大瀏覽區域。也可以事先選定瀏覽器,方法是選擇Task後在Tasks菜單中選擇Browse命令中的Offline子命令,會彈出個小菜單供你選擇是用Navigator、Internet Explorer還是內置瀏覽器。內置瀏覽器與Internet Explorer兼容。 瀏覽的感覺和在線瀏覽一模一樣,而且不必擔心查閱時間是否過長。不過需要注意的是,內置的瀏覽器是和Internet Explorer兼容的,這里就有一個html文件兼容性的問題,有的網站用Navigator觀看一切正常,但用Internet Explorer或內置瀏覽器瀏覽就有問題,相反的情況也可能出現,因此如果出現什麼問題,最好先換個瀏覽器試試。 三、軟體類型與下載地址 WebZIP屬於共享軟體,可以免費試用一個月。該軟體的下載地址為: http://www.spidersoft.com 。
㈣ 如何使web訊雷多個下載
原始下核返族載線程數最多世塵只能是改弊10個.
打開WEB訊雷,在右上角找到"設置",切換到"任務默認設置"選項卡進行設置.
㈤ web迅雷同時下載多個文件回不會影響速度
會..據說速察渣度會平均..
可是余沒櫻我本來下載1個文件200KB/S
下載2個文件總速度卻變成100多KB/S
所以還是一個一個豎叢下載吧