我正在寫一個HTTP Web服務器。我的服務器必須處理Http多部分請求。在我以前的實現中,我是在請求的每個部分中都有內容長度頭的幫助下提取數據的。我使用的客戶端爲多部分請求中的每個零件部分(文件)提供內容長度標題。如何從多部分Http請求中提取數據?
但是,另一個客戶端沒有給每個文件的內容長度。在我的實現中,我使用content-length頭來提取那麼多字節並將它們保存到一個文件中。
請告訴我現在如何提取數據。
其中我現在越來越標頭是:
POST xxxxxxxxxxxxxxxxxxxxxxx¤tTab=PHOTOxxxxxxxxxxxxxxxx HTTP/1.1
Content-Length: 6829
Content-Type: multipart/form-data; boundary=SnlCg9JqTpQIl6t_mPzByTjZ8bD24kUj; charset=UTF-8
Host: host
Connection: Keep-Alive
User-Agent: Apache-HttpClient/xxxxxxxx
Accept-Encoding: gzip
--SnlCg9JqTpQIl6t_mPzByTjZ8bD24kUj
Content-Disposition: form-data; name="file"; filename="imagesCA5L2CL6_jpg(2)_jpg.jpg"
Content-Type: photo/jpg
**Some Data byte array**
--SnlCg9JqTpQIl6t_mPzByTjZ8bD24kUj--
在該請求中,現在有內容長度報頭部分的數據。
編輯:
此客戶端早些時候用來在每一個部分發送內容長度報頭。但由於某種原因,它不再發送它。任何人都可以爲此提出任何理由。如果你想實現一個HTTP/1.1服務器
感謝
你嘗試HttpContext.Current.Request.Files [0] .InputStream讀文件輸入; ? – Popeye 2013-03-12 09:14:05
我沒有使用任何C#類..我從套接字獲取原始數據,我必須解析。 – vijay053 2013-03-12 09:16:25