/// http上傳檔案
// 設定引數
string boundary = datetime.now.ticks.tostring(「x」); // 隨機分隔線
request.contenttype = 「multipart/form-data;charset=utf-8;boundary=」 + boundary;
byte itemboundarybytes = encoding.utf8.getbytes("\r\n–" + boundary + 「\r\n」);
byte endboundarybytes = encoding.utf8.getbytes("\r\n–" + boundary + 「–\r\n」);
int pos = path.lastindexof("\");
string filename = path.substring(pos + 1);
//請求頭部資訊
byte postheaderbytes = encoding.utf8.getbytes(sbheader.tostring());
filestream fs = new filestream(path, filemode.open, fileaccess.read);
byte barr = new byte[fs.length];
fs.read(barr, 0, barr.length);
fs.close();
stream poststream = request.getrequeststream();
poststream.write(itemboundarybytes, 0, itemboundarybytes.length);
poststream.write(postheaderbytes, 0, postheaderbytes.length);
poststream.write(barr, 0, barr.length);
poststream.write(endboundarybytes, 0, endboundarybytes.length);
poststream.close();
//傳送請求並獲取相應回應資料
//直到request.getresponse()程式才開始向目標網頁傳送post請求
stream instream = response.getresponsestream();
streamreader sr = new streamreader(instream, encoding.utf8);
//返回結果網頁(html)**
string content = sr.readtoend();
return content;
HTTP上傳檔案的總結
因為工作中做個客戶端,需要和web後端打交道,用的都是http的介面。對http介面也不是很熟,就自己搭個環境測試了解這個過程。後端就隨便選用乙個可以用的框架就好了。框架反正都是呼叫api基本都是乙個套路,平台搭建好了調調介面解析一下就ok了。而這裡主要著重於http協議進行分析,從而對http有直...
Http檔案上傳框架選擇
候選項 jetty apache fileupload jdk自帶的httpserver 自行解析 jetty jetty multipartfilter 備註 tomcat過於臃腫,不考慮。測試情況 兩台機器,一台使用httpclient模擬客戶端上傳檔案,一台作為http伺服器。兩台機器均為8核...
HTTP協議上的檔案上傳
檔案上傳 tcp協議 1 http協議上的檔案上傳,最頻繁的應用場景了。rfc1867裡定義的標準http協議post報文格式如下 header 寫道 content type multipart form data body content type multipart form data,bou...