Http上傳檔案

2021-10-20 01:29:57 字數 1745 閱讀 8287

/// 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...