我正在處理一個asp.net mvc-4 web應用程序,並且我有以下方法將json對象上傳到第三方應用程序。在這裏我想URL標頭設置爲application/x-www-form-urlencoded
: -無法從'字符串'轉換爲'System.Collections.Specialized.NameValueCollection'
using (WebClient wc = new WebClient())
{
string url = currentURL + "resources?AUTHTOKEN=" + pmtoken;
Uri uri = new Uri(url);
wc.Headers.Add(HttpRequestHeader.ContentType, "application/x-www-form-urlencoded");
var encodedJson = WebUtility.UrlEncode(data);
crudoutput = wc.UploadValues(uri, "INPUT_DATA=" + encodedJson);
}
但上面是提高以下錯誤: -
無法從「字符串」轉換爲 「System.Collections.Specialized。的NameValueCollection」
爲 最好重載方法匹配 'System.Net.WebClient.UploadValues(的System.Uri, System.Collections.Specialized.NameValueCollection)' 具有一些無效 論據
所以任何人都可以請這個請嗎?
不知道爲什麼你正在使用這個myNameValueCollection.Add( 「INPUT_DATA」 ,encodedJson)..現在在我的情況下,json應該以「INPUT_DATA =」開頭,所以我需要在「INPUT_DATA =」和encodedJson之間進行一次concatitation,如我的原始代碼所示。 –
然後嘗試'UploadString'。你問爲什麼你得到的錯誤,所有這些答案修復了 – Eonasdan
但我想使用UploadValues,因爲我想指定內容類型頭爲應用程序/ x-www-form-urlencoded,因爲我知道我不能做所以使用UploadString? –