को आप मानक अनुरोध एन्कोडिंग में से किसी का उपयोग कर रहे करने के बजाय आप कुछ कस्टम प्रोटोकॉल पुनर्रचना हो रहे हैं, तो आप पर भरोसा नहीं कर सकते इस अनुरोध को पार्स करने में सक्षम होने के लिए सर्वर ASP.NET। आप InputStream से सीधे मूल्यों को पढ़ने के लिए करना होगा:
public void ProcessRequest(HttpContext context)
{
using (var reader = new StreamReader(context.Request.InputStream))
{
// This will equal to "charset = UTF-8 & param1 = val1 & param2 = val2 & param3 = val3 & param4 = val4"
string values = reader.ReadToEnd();
}
}
दूसरी ओर आप कुछ मानक अनुरोध एन्कोडिंग application/x-www-form-urlencoded
रूप में इस तरह का उपयोग करते हैं आप हमेशा की तरह मापदंडों को पढ़ने के लिए सक्षम हो जाएगा। सर्वर पर अब
using (var client = new WebClient())
{
var values = new NameValueCollection
{
{ "param1", "value1" },
{ "param2", "value2" },
{ "param3", "value3" },
{ "param4", "value4" },
};
byte[] result = client.UploadValues(values);
}
आप मान पढ़ सकते हैं: आप एक WebClient
इस्तेमाल कर सकते हैं
POST /Handler.ashx HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 47
Connection: close
param1=val1¶m2=val2¶m3=val3¶m4=val4
आदेश इस तरह के एक अनुरोध भेजने के लिए:
यहाँ इस तरह का अनुरोध पेलोड कैसा लग सकता है तरीका बताया गया है इस तरह:
public void ProcessRequest(HttpContext context)
{
var value1 = context.Request["param1"];
var value2 = context.Request["param2"];
...
}
स्रोत
2013-06-08 08:34:19
बहुत बहुत धन्यवाद! मैं अग्र-अंत छवि आकार बदलने की कार्यक्षमता के लिए AngularJS का उपयोग कर रहा हूं, और फिर सर्वर पर JSON ऑब्जेक्ट्स (नाम, आयाम, छवि डेटा स्वयं (बेस 64), और इसी तरह के) का बैच (सरणी) अपलोड करें। मुझे पेलोड पढ़ने में समस्याएं आ रही थीं (यदि पैरा जोड़ना है, तो "डेटा:" सर्वरसाइड नहीं मिला/पढ़ा जा सकता था (या अच्छी तरह से, कैसे नहीं पता था)। तो स्ट्रीम रीडर का उपयोग करके यह ठीक काम करता है :) धन्यवाद आप :) – LittleTiger
@ डारिन कृपया आपको लगता है कि आप इस प्रश्न के साथ मेरी मदद कर सकते हैं http://goo.gl/qiOdmT – Axel