Android客戶端多檔案上傳
阿新 • • 發佈:2019-02-01
在web開發中,多檔案上傳時是非常方便的,直接使用Http協議提交資料即可。格式如下:
<FORM METHOD=POST ACTION="http://192.168.1.101:8083/upload/servlet/UploadServlet" enctype="multipart/form-data"> <INPUT TYPE="text" NAME="name"> <INPUT TYPE="text" NAME="id"> <input type="file" name="imagefile"/> <input type="file" name="zip"/> </FORM>
但是在Android客戶端中,如果文字和檔案一起上傳時就比較麻煩,需要對Http協議很熟悉才可以做到的。
一、HTTP協議
HTTP協議是一個很很複雜的過程,我們在做web開發時,底層其實都已經封裝好了,可以使用即可,我們所需要做的就是對HTTP請求格式很熟悉。 HTTP協議分為請求方法URI協議/版本,請求頭,請求體。這是一個完整的HTTP請求。 請求的協議頭主要包括以下一些內容: 請求頭和請求體中間有一個空格,這個空格表示請求頭已經結束,下面的是請求體。 響應頭: 這即為整個的HTTP請求。<span style="white-space:pre"> </span>GET/sample.jspHTTP/1.1 //請求方法/請求路徑/協議版本 <span style="white-space:pre"> </span>Accept:image/gif.image/jpeg,*/* <span style="white-space:pre"> </span>Accept-Language:zh-cn <span style="white-space:pre"> </span>Connection:Keep-Alive <span style="white-space:pre"> </span>Host:localhost <span style="white-space:pre"> </span>User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0) <span style="white-space:pre"> </span>Accept-Encoding:gzip,deflate <span style="white-space:pre"> </span>username=jinqiao&password=1234
二、Android中的多檔案上傳
Android中使用HTTP GET或者POST方法提交資料在前文已經介紹過了。程式碼在struts上傳檔案一文中已經貼出來了。 在程式碼中 ,我們需要自己動手完整的構造出整個HTTP請求的格式。 但有一個不同的地方; 首先是Content-Type:multipart/form-data;boundary=---------------------------7da2137580612;