Как разместить файл и данные в api с помощью httpclient C#
I am at learning phase and i want to post file and data to api using httpclient. i have tried this. Here is my controller code
когда я передаю параметры в api, значения становятся нулевыми.
Что я уже пробовал:
string baseUrl = ServerConfig.server_path + "/api/Payment/AddMedicineOrder"; Dictionary parameters = new Dictionary(); parameters.Add("username",user.Username); parameters.Add("FullName", FullName); parameters.Add("Phone", Phone); parameters.Add("CNIC", CNIC); parameters.Add("address", address); parameters.Add("Email", Email); parameters.Add("dateofbirth", dateofbirth.ToShortDateString()); parameters.Add("Gender", Gender); parameters.Add("PaymentMethod", PaymentMethod); parameters.Add("Title", Title); parameters.Add("PhramaList", medList); HttpClient client = new HttpClient(); client.BaseAddress = new Uri("https://localhost:44391/"); MultipartFormDataContent form = new MultipartFormDataContent(); HttpContent content = new StringContent("fileToUpload"); HttpContent DictionaryItems = new FormUrlEncodedContent(parameters); form.Add(content, "fileToUpload"); form.Add(DictionaryItems, "medicineOrder"); var stream = PostedPrescription.InputStream; content = new StreamContent(stream); content.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") { Name = "fileToUpload", FileName = PostedPrescription.FileName }; form.Add(content); var response =await client.PostAsync("/api/Payment/AddMedicineOrder", form); var k =response.Content.ReadAsStringAsync().Result;
Вот веб-Api , где передают параметры, то он получил null, а не передают значения в веб-api .
[HttpPost] public async Task<API> AddMedicineOrder(string username) { var request = HttpContext.Current.Request; bool SubmittedFile = (request.Files.Count != 0); this.Request.Headers.TryGetValues("medicineOrder", out IEnumerable<string> somestring); var k = somestring; return OK("Success"); } catch (Exception ex) { return InternalServerError("Technical Error."); }
Пожалуйста помогите мне заранее спасибо