亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

asp.net 從POST的數據流中提取參數和文件

2024-07-10 13:26:50
字體:
來源:轉載
供稿:網友
模擬的POST請求也一樣。但有時可能模擬POST數據格式不是很標準(可能吧,沒太細研究),在服務端是獲取不到數據的。最近就遇到了這么一個麻煩的事,數據是一個合作方通過模擬POST的。

無奈之下,想到了一個下下策,那就是通過分析接受到的輸入流,從中提取想要的數據。比如我在上文中提到的數據(兩個參數,一個圖片文件)

asp.net 從POST的數據流中提取參數和文件

實現思路:讀取輸入流,通過非文件部份的分析,確定文件在整個流中的位置和大小,再對輸入流重新讀取以得到文件。

看上面的POST數據,參數部分及分隔符等,說白了都是些字符串?;旧隙际怯⑽臄底址柕?,如有中文發送之前可做一下編碼,這樣基本上可以確保不會因編碼問題造成計算失誤(英文字符各編碼都是相同的)。這一部分內容(非文件部分,文件部分是二進制格式來的,千萬別這樣去做)可以得到。
通過接受輸入的流轉成字符串,如果參數中有中文,請注意客戶端POST時使用何種編碼:

復制代碼 代碼如下:


byte[] input = Request.BinaryRead(Request.TotalBytes);
string source = Encoding.UTF8.GetString(input);


然后通過正則表達式,匹配上面的非文件部份內容,此處略,再把得到的內容轉成byte[],計算出它的長度。參數的值可以在這里得到了。

復制代碼 代碼如下:


Regex rginput = new Regex("略");
if (rginput.IsMatch(source))
{
int headLength=Encoding.UTF8.GetBytes(rginput.Match(source).Value)
}


同理計算出結尾出"-----------------------------7da119c1004a6--"的長度(這個每次請求應該是固定的)。注意有換行回車符。

這樣,文件之外的部份在整個流中的大小可以確定,也就是說文件在整個流中的位置和大小也確定了。那么通過對原始流的重新讀取就可以得到文件部份。如果文件是文本類型的,可以不用這樣,直接跟參數部份一樣分析獲取。

復制代碼 代碼如下:


//保存文件
FileStream fss = new FileStream("path", FileMode.Create);
fss.Write(input, headLength, input.Length-headLength-footLength);
fss.Close();



代碼

復制代碼 代碼如下:


//得到文件字節數組
byte[] imgcont = new byte[input.Length - headLength-footLength];
MemoryStream ms = new MemoryStream(input);
//光標移動到文件開始處
ms.Seek(headLength,SeekOrigin.Begin);
ms.Read(imgcont, 0, imgcont.Length);
ms.Close();


注:這個方法有一定的風險,就是對文件的大小和位置的確定,一定要計算準確,對輸入流的分析要想周到全面;還有當上傳文件為多個時,這個方法就麻煩了...如果你有更好的方法,可留言交流。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩免费av在线| 欧美—级a级欧美特级ar全黄| www.国产精品一二区| 91在线观看免费观看| 美女久久久久久久久久久| 国产精品久久久久av| 亚洲男人天天操| 亚洲性日韩精品一区二区| 国产精品99免视看9| 国产香蕉精品视频一区二区三区| 亚洲日韩欧美视频一区| 97**国产露脸精品国产| 国产成人精品在线播放| 亚洲精品第一国产综合精品| 国产一区二区三区在线视频| 亚洲最大激情中文字幕| 欧美乱大交xxxxx| 最新国产精品亚洲| 国产精品第七十二页| 国产午夜精品美女视频明星a级| 日韩**中文字幕毛片| 国产福利精品在线| 久热精品视频在线免费观看| 欧美中文字幕视频| 国产精品国产亚洲伊人久久| 中文字幕av一区二区三区谷原希美| 亚洲片在线资源| 91亚洲永久免费精品| 国产精品九九久久久久久久| 国内精品久久久久影院 日本资源| 亚洲精品v欧美精品v日韩精品| 久久天天躁狠狠躁夜夜av| 日韩在线视频免费观看| 欧美在线视频免费观看| 国产精品亚洲一区二区三区| 91青草视频久久| 韩剧1988免费观看全集| 91精品国产综合久久香蕉最新版| 久久亚洲精品国产亚洲老地址| 日本成人精品在线| 亚洲国产成人精品一区二区| 亚洲欧美一区二区三区情侣bbw| 欧美乱大交xxxxx另类电影| 亚洲欧洲一区二区三区久久| 国产一区玩具在线观看| 在线不卡国产精品| 美女啪啪无遮挡免费久久网站| 亚洲最大福利视频网| 欧美在线xxx| 国产成人精品日本亚洲| 欧美成人精品一区二区三区| 69久久夜色精品国产69| 国产成人精品在线观看| 黑人与娇小精品av专区| 国产精品久久久久久久久久尿| 在线观看中文字幕亚洲| 精品成人69xx.xyz| 日韩电影网在线| 国产成人精品av| 亚洲色图狂野欧美| 亚洲国产精品99| 日韩美女视频在线观看| 成人久久一区二区三区| 91久久久久久| 欧美激情在线观看| 亚洲的天堂在线中文字幕| 中文字幕成人精品久久不卡| 中文字幕国产精品| 在线视频亚洲欧美| 国产欧美va欧美va香蕉在| 成人性生交大片免费看小说| 中文字幕不卡在线视频极品| 久久免费国产精品1| 欲色天天网综合久久| 成人久久一区二区三区| 欧美xxxx做受欧美| 亚洲a级在线播放观看| 北条麻妃一区二区在线观看| 久久久精品影院| 亚洲欧美自拍一区| 川上优av一区二区线观看| 精品久久久久久久久久国产| 亚洲视频在线观看网站| 91精品91久久久久久| 亚洲一区二区三区xxx视频| 欧美裸体男粗大视频在线观看| 亚洲欧美国产日韩中文字幕| 欧美性在线视频| 欧美二区乱c黑人| 亚洲无限av看| 国产精品第100页| 国产有码在线一区二区视频| 亚洲日韩中文字幕在线播放| 亚洲天堂久久av| 97人洗澡人人免费公开视频碰碰碰| 欧美激情按摩在线| 欧美日韩色婷婷| 中文字幕欧美亚洲| 国产精品aaa| 在线观看欧美日韩| 久久久久久久一| 久久国产精品久久久久| 亚洲福利视频专区| 国产精品爱啪在线线免费观看| 久久久亚洲网站| 国产一区二区三区在线播放免费观看| 亚洲加勒比久久88色综合| 亚洲激情视频网站| 日本午夜在线亚洲.国产| 97视频在线观看成人| 国产91精品网站| 亚洲精品动漫久久久久| 国产福利精品av综合导导航| 亚洲欧美国产一本综合首页| 国产一区二区香蕉| 国产成人涩涩涩视频在线观看| 中文字幕在线看视频国产欧美| 在线观看国产精品淫| 欧美二区乱c黑人| 91中文字幕在线观看| 91久久精品国产| 久久久久久久网站| 中文字幕日韩欧美精品在线观看| 日韩风俗一区 二区| 亚洲xxxx做受欧美| 97国产成人精品视频| 中文字幕亚洲欧美一区二区三区| 国产精品视频成人| 91最新在线免费观看| 色吧影院999| 久久99国产综合精品女同| 清纯唯美日韩制服另类| 国产在线观看不卡| 亚洲第一福利在线观看| 538国产精品一区二区在线| 亚洲激情视频在线观看| 日韩精品高清在线观看| 国产日本欧美在线观看| 国产精品色视频| 国产午夜精品久久久| 中文字幕欧美精品在线| 久久久精品一区| 2019中文字幕在线免费观看| 欧美电影在线观看网站| 欧美黄色小视频| 国产精品免费电影| 欧美黄色片视频| 亚洲精品一区二三区不卡| 欧美日韩中文字幕在线视频| 国产精品高潮呻吟久久av无限| 亚洲一级一级97网| 欧美在线性视频| 欧美激情亚洲一区| 国产日韩专区在线| 2019中文字幕全在线观看| 亚洲国语精品自产拍在线观看| 国产精品久久久91| 成人在线精品视频| 日韩精品极品在线观看| 亚洲电影免费观看高清完整版| 日韩精品免费观看| 欧美精品激情在线观看| 91黑丝在线观看| 国产精品高清在线|