0
我卡在xamarin.forms中發佈多部分形式的數據。當我嘗試使用POSTMAN時,它的所有工作都很好,但是沒有使用我在xamarin.forms中的代碼。我不知道代碼有什麼問題。我正在使用一個叫RestSharp port as PCL and for .NET Core的庫。與多部分形式的數據卡住 - Xamarin.forms
這裏是郵遞員代碼
var client = new RestClient("http://192.168.2.126:86/Appointment.svc/UploadFileios");
var request = new RestRequest(Method.POST);
request.AddHeader("postman-token", "11a61861-ed9c-2f35-751b-6b615907c269");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW");
request.AddParameter("multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW", "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"phone\"\r\n\r\n81234518\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"address\"\r\n\r\nAddress Dummy House\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"password\"\r\n\r\n123\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"confpassword\"\r\n\r\n123\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nAlex Chengalan Paily\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
以下是我與xamarin.forms代碼。
var client = new RestClient(url);
var request = new RestRequest(Method.POST);
string boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x");
//string boundary = "----WebKitFormBoundary7MA4YWxkTrZu0gW";
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "multipart/form-data; boundary=" + boundary);
string name = "multipart/form-data; boundary=" + boundary;
string formdataTemplate = "--" + boundary +
"\r\nContent-Disposition: form-data; name=\"{0}\"\r\n\r\n{1}\r\n";
string formitem = null;
foreach (string key in nvc.Keys)
{
formitem = formitem + string.Format(formdataTemplate, key, nvc[key]);
}
Debug.WriteLine("Items: " + formitem);
request.AddParameter(name, formitem, ParameterType.RequestBody);
IRestResponse response = await client.Execute(request);
但是我在這裏從服務器得到一個解析錯誤。請幫助我解決這個問題。
你得到的錯誤是什麼? –
它是一個從後端觸發的解析異常,這是一個自定義消息。 –
你能分享解析錯誤訊息嗎?可能是這個鏈接將幫助你[在C#中的多部分形式發佈](https://briangrinstead.com/blog/multipart-form-post-in-c/) –