從非標準的POST資料流中提取檔案

2022-08-01 13:09:09 字數 584 閱讀 2939

1 接收資料流轉成字串,注意編碼

byte recv= request.binaryread(request.totalbytes);

string sourcebyte = encoding.utf8.getstring(recv);

2 確認檔案流在整個資料流的起止位置

比如:

//找到檔案在位元組流中的起止位置

int fileheadlength = source.indexof("#!");

int filefootlength = source.indexof("----", fileheadlength);

3 從資料流中擷取出來檔案流,然後儲存到指定路徑

//儲存檔案

filestream fss =new filestream("path", filemode.create);

fss.write(recv, fileheadlength, filefootlength-fileheadlength);

fss.close();

從POST的資料流中提取引數和檔案

無奈之下,想到了乙個下下策,那就是通過分析接受到的輸入流,從中提取想要的資料。比如我在上文中提到的資料 兩個引數,乙個檔案 實現思路 讀取輸入流,通過非檔案部份的分析,確定檔案在整個流中的位置和大小,再對輸入流重新讀取以得到檔案。看上面的post資料,引數部分及分隔符等,說白了都是些字串。基本上都是...

c 之從標準流中提取文字資料

istream istream get char int char n istream istream getline char int char n 作用 從文字中提取指定個數的字元,並在串陣列末新增乙個空字元 其中,第乙個引數指向接受字元資料的字元陣列 第二個引數指定字元陣列最多可容納的字元個數...

從Wireshark監聽的資料中提取需要的資料

最近,需要將wireshark監聽的資料進行提取,分兩步 首先,應該得出wireshark的資料報吧,在圖形化介面中可以非常直觀的將監聽資料進行儲存,但是這樣需要手動操作非常麻煩,而且容易出錯 隨著處理資料報的數量增加,圖形化可能吃不消,以前就遇見過 在linux下,採用了tshark命令,tsha...