當前位置:首頁 » 安卓系統 » androidhttp斷點上傳文件

androidhttp斷點上傳文件

發布時間: 2022-08-23 00:18:17

A. 如何實現基於http協議的斷點續傳的上傳功能

於HTTP 協議的多線程下載和斷點續傳的實現 學 生:葉升路 指導教師:覃 穎 (三峽大學 電氣信息學院) 摘 要:本文介紹了網路下載軟體中的最新技術——多線程下載和斷點續傳技術,同時 也介紹了HTTP 協議的發展、特點以及WinSock 編程技術。最後在這些技術的基礎上成 功設計並實現了基於HTTP 協議的具有多線程下載和斷點續傳功能的下載軟體。本軟體 的實現代碼未使用任何WinInet API 函數如InternetOpen , InternetConnect 等,而是直接 使用WinSock 編程,逐步解析HTTP 協議來完成會話和文件下載等功能。經測試,下載 速度有所提高。 關鍵詞:下載;多線程;斷點續傳;HTTP;WinSock; Abstract:This paper introces the latest downloading technology called multi-threaded downloading and resume in network downloading software. But also descripes the development of HTTP protocol, characteristics and WinSock programming. Finally, based on these technologies successfully designed and implemented a downloading tool based on the HTTP protocol with multi-threaded and resume features. The realization of the software code does not use any WinInet API functions such as InternetOpen, InternetConnect, etc., but directly use WinSock to programming, and complete the functions of conversation and file downloads and others by parse HTTP protocol steply. After tested, the speed of downloading has increased. Keywords: Downloading;Multi-thread;Resume;HTTP;WinSock; 前言 最近幾年,隨著計算機網路的飛速發展,網際網路(Internet)已經逐漸成為人們生活、 工作、學習必不可缺的一部分。網際網路上存儲了大量豐富的信息資源,我們可以使用下載 工具,把需要的信息資源下載到本地。但是由於受到各種因素的限制,例如伺服器性能、 網路帶寬、下載的信息量以及下載工具等等,下載速度受到不同程度的影響。因此人們不 斷地提高伺服器性能,擴展網路帶寬,開發效率更高的下載工具以達到最大化提高下載 速度的目的。 在限制下載速度的眾多因素中,研究新的網路下載技術開發出更高效的下載工具無 疑是其中最節約,環保以及方便的方式。網路下載技術,也可以稱為網路文件共享技術, 10 1 它一直是網路發展的重要推動力之一。早期人們共享資源的普遍方法是將資源文件上傳 至伺服器上,然後其他用戶可以通過HTTP 或FTP 等協議將其下載到本地電腦。這種模 式稱為客戶機/伺服器模式即C/S 模式,它對伺服器的依賴性很大,當下載用戶很少時, 比如說一個,他將獨享伺服器的帶寬,很顯然其下載速度會非常快。然而當下載的人數 較多而伺服器帶寬有限時,比如伺服器帶寬為3MB/S,而下載人數為100 人,則眾多下 載用戶不得不共享一個帶寬(3MB/S)最終結果是下載速度均分(30KB/S),普遍不高。 P2P 技術的出現使得人們終於擺脫了伺服器的枷鎖。它的主要特點是資源分散、負 載均衡、和非中心化,它將共享的文件存儲在各個客戶機節點上,用戶之間可以直接共 享和傳輸文件而不需要通過伺服器。客戶機不再只利用伺服器帶寬進行下載,它同時也 可以利用其他客戶機節點的帶寬,這樣大大提高了下載速度。 縱觀網路下載技術發展的歷史,可以將其劃分為四個階段:單線程下載階段、多線 程下載及斷點續傳階段、P2P階段、P2SP階段。 一、單線下載時代:應對有限時間流量的辦法 早在上個世紀90年代,當時互聯網並不普及,很多人使用Modem撥號,通過Telnet 軟體連接到撥接式BBS上獲取資訊並與別人交流(收發郵件等),由於伺服器的電話線 路數量有限,因此都會限制連接時間,一般新注冊用戶只有10分鍾左右。這點時間用來 看帖回帖顯然不夠的,因此有人就開發了軟體,進入BBS後,能夠將整個BBS上所有內 容都下載回來,然後可以斷線慢慢看慢慢回,最後再次撥入BBS上傳回復。 二、斷點續傳與多線程下載時代:大幅度提高速度 進入Windows與WWW(World Wide Web,互聯網)時代之後,IE,Netscape等瀏覽 器都可以通過點擊左鍵下載,那個時候網路速度最快不過5KB/s,下載一首5MB的MP3 歌曲要15分鍾以上!中途萬一斷線就前功盡棄,於是有人開發了支持斷點續傳的下載軟 件。 世界上第一款支持斷點續傳的下載軟體應該是GetRight。它可讓你用瀏覽器下載文 件時有續傳功能,可設定時間來下載文件或是中斷Modem撥接,下載完畢時自動中斷 Modem撥接或關機。 為了更好的利用帶寬,在斷點續傳的基礎上,多線程下載軟體逐漸發展了起來。最 早出現的多線程下載軟體是中國人開發的NetAnts(網路螞蟻)。網路螞蟻其實也是一 個斷點續傳軟體,但它對斷點續傳功能進行了擴展:可進行多點續傳,即利用斷點續傳 的原理同時建立多個連接下載同一個軟體並最終將其合並為一個完整的軟體。

B. android斷點續傳怎麼實現

斷點上傳和下載的思路是記錄斷點,然後根據記錄重新進行續傳,可以看原理http://hao3100590.iteye.com/blog/1295903

android斷點續傳我沒有做過,但是我找到了這個http://blog.csdn.net/csh159/article/details/8442970。

大致看了下,代碼很清晰,應該能符合要求。

C. android的自帶的httpClient 怎麼上傳文件

在Android開發中,Android SDK附帶了Apache的HttpClient,它是一個完善的客戶端。它提供了對HTTP協議的全面支持,可以使用HttpClient的對象來執行HTTP GET和HTTP POST調用。

HTTP工作原理:

1.客戶端(一般是指瀏覽器,這里是指自己寫的程序)與伺服器建立連接

2.建立連接後,客戶端向伺服器發送請求

3.伺服器接收到請求後,向客戶端發送響應信息

4.客戶端與伺服器斷開連接


HttpClient的一般使用步驟:

1.使用DefaultHttpClient類實例化HttpClient對象

2.創建HttpGet或HttpPost對象,將要請求的URL通過構造方法傳入HttpGet或HttpPost對象。

3.調用execute方法發送HTTP GET或HTTP POST請求,並返回HttpResponse對象。

4.通過HttpResponse介面的getEntity方法返回響應信息,並進行相應的處理。

最後記得要在AndroidManifest.xml文件添加網路許可權

<uses-permission android:name="android.permission.INTERNET" />


附件中包含了一個拍照上傳的源代碼


D. Android中使用HttpPost實現數據與文件同時上傳的功能

第一步:編寫一個Servlet,把接收到的HTTP信息保存在一個文件中,代碼如下:
public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {
//獲取輸入流,是HTTP協議中的實體內容

ServletInputStream sis=request.getInputStream();
//緩沖區

byte buffer[]=new byte[1024];
FileOutputStream fos=new FileOutputStream("d://file.log");

int len=sis.read(buffer, 0, 1024);
//把流里的信息循環讀入到file.log文件中
while( len!=-1 )
{
fos.write(buffer, 0, len);
len=sis.readLine(buffer, 0, 1024);
}
fos.close();
sis.close();
}
第二步:實現如下圖1的的表單頁面,生成一個注冊表單,提交到Servlet中

詳細的代碼如下:

<form action="servlet/ReceiveFile" method="post" enctype="multipart/form-data">
第一個參數<input type="text" name="name1"/> <br/>
第二個參數<input type="text" name="name2"/> <br/>
第一個上傳的文件<input type="file" name="file1"/> <br/>
第二個上傳的文件<input type="file" name="file2"/> <br/>
<input type="submit" value="提交">
</form>
注意了,由於要上傳附件,所以一定要設置enctype為multipart/form-data,才可以實現附件的上傳。
第三步:填寫完信息後按「提交」按鈕後,在D盤下查找file.log文件用記事本打開,數據如下:
-----------------------------7d92221b604bc
Content-Disposition: form-data; name="name1"
hello
-----------------------------7d92221b604bc
Content-Disposition: form-data; name="name2"
world
-----------------------------7d92221b604bc
Content-Disposition: form-data; name="file1"; filename="C:/2.GIF"
Content-Type: image/gif
GIF89a

E. android基於UDP協議,能夠實現斷點傳送嗎

HTTP和UDP不支持斷點續傳功能,並綁定埠是3900和80。有些網站限制你只能使用單線程或者只能通過普通下載來傳輸,不能分塊的,就只能用勾上。

F. android okhttp上傳文件mediatype有哪些

/**
* @param mediaType MediaType
* @param uploadUrl put請求地址
* @param localPath 本地文件路徑
* @return 響應的結果 和 HTTP status code
* @throws IOException
*/
public String put(MediaType mediaType, String uploadUrl, String localPath) throws IOException {
File file = new File(localPath);
RequestBody body = RequestBody.create(mediaType, file);
Request request = new Request.Builder()
.url(uploadUrl)
.put(body)
.build();
Response response = client.newCall(request).execute();
return response.code()+ ":" + response.body().string() ;
}

//上傳JPG圖片
public String putImg(String uploadUrl, String localPath) throws IOException {
MediaType Image = MediaType.parse("image/jpeg; charset=utf-8");

G. 急求android下http協議視頻上傳.支持斷點續傳。

1、刪除一條記錄以後,調用Adapter的notifyDataChanged函數,即可啟動界面的重新刷新。
2、百分比的動態刷新,建議用AsyncTask來實現。具體可參考SDK中AysncTask的介紹。

H. 如何利用http協議實現文件下載的斷點續傳

http協議中 header裡面有個欄位叫做range,以及與range相關的一些header
Range: 只請求實體的一部分,指定范圍 例如Range: bytes=500-999
所以斷點續傳,你懂的,斷了之後你再請求剩下的部分,最後拼起來就行

熱點內容
php解壓程序 發布:2025-01-15 17:06:22 瀏覽:140
刷助力腳本 發布:2025-01-15 17:02:31 瀏覽:519
c盤里的用戶文件夾可以刪除 發布:2025-01-15 16:56:45 瀏覽:949
虛幻4編譯到哪裡 發布:2025-01-15 16:50:19 瀏覽:754
透明度漸變android 發布:2025-01-15 16:45:08 瀏覽:834
dos連接oracle資料庫 發布:2025-01-15 16:41:39 瀏覽:904
網路配置比較低怎麼做 發布:2025-01-15 16:35:38 瀏覽:361
android彈出鍵盤監聽 發布:2025-01-15 16:35:11 瀏覽:207
uz畫圖編程 發布:2025-01-15 16:32:44 瀏覽:883
ppt怎麼解壓 發布:2025-01-15 16:14:58 瀏覽:849