在web開發中,多檔案上傳時是非常方便的,直接使用http協議提交資料即可。格式如下:
但是在android客戶端中,如果文字和檔案一起上傳時就比較麻煩,需要對http協議很熟悉才可以做到的。
http協議是乙個很很複雜的過程,我們在做web開發時,底層其實都已經封裝好了,可以使用即可,我們所需要做的就是對http請求格式很熟悉。
http協議分為
請求方法
uri協議
/版本,請求頭,請求體。
get/sample.jsphttp/1.1 //請求方法/請求路徑/協議版本
accept:image/gif.image/jpeg,*/*
accept-language:zh-cn
connection:keep-alive
host:localhost
user-agent:mozila/4.0(compatible;msie5.01;window nt5.0)
accept-encoding:gzip,deflate
username=jinqiao&password=1234
這是乙個完整的http請求。
請求頭和請求體中間有乙個空格,這個空格表示請求頭已經結束,下面的是請求體。
響應頭:
這即為整個的http請求。
android中使用http get或者post方法提交資料在前文已經介紹過了。
**在struts上傳檔案一文中已經貼出來了。
在**中 ,我們需要自己動手完整的構造出整個http請求的格式。
但有乙個不同的地方;
首先是content-type:multipart/form-data;boundary=---------------------------7da2137580612;
因為表單型別為:
multipart/form-data,上傳檔案使用的不在是http協議,不在是name="--"的方式了,而是使用
分隔符字段內容
分隔符字段內容
比如:請求頭
---------------------------7da2137580612----------- //結束標誌
http基礎知識)
客戶端驗證上傳檔案大小
昨天,今天,這兩天的時間在研究乙個問題,如何在客戶端對上傳的檔案進行大小限制。在網上有搜了很久。火狐下可以直接獲得上傳檔案的大小進行判斷 fileupload.files 0 filesize ie下就不同了,首先需要獲得本地檔案的路徑,開啟安全設定activex功能後,才可以獲取檔案大小,進行判斷...
客戶端驗證上傳檔案大小
昨天,今天,這兩天的時間在研究乙個問題,如何在客戶端對上傳的檔案進行大小限制。在網上有搜了很久。火狐下可以直接獲得上傳檔案的大小進行判斷 fileupload.files 0 filesize ie下就不同了,首先需要獲得本地檔案的路徑,開啟安全設定activex功能後,才可以獲取檔案大小,進行判斷...
FastDFS客戶端多執行緒上傳檔案問題
在專案中用到fastdfs,用來存,剛開始單執行緒進行測試,所以沒什麼問題,但是在多個客戶端進行上傳後,發現經常性的會報一下錯誤 fastdfs多執行緒經常性會遇到這樣的問題,這是因為fastdfs本身提供的是簡單的客戶端上傳 原始碼中沒有包含連線池,執行緒測試的 如下 import edu.fzu...