HttpClient Post 方式 提交文件和參數(multipart/form-data)

第一步:引入nuget包

Install-Package System.Net.Http

     /// <summary>
        /// post 請求
        /// </summary>
        /// <param name="url">請求地址</param>
        /// <param name="paramters">參數</param>
        /// <param name="file">文件</param>
        /// <returns></returns>
        public static string PostJsonFormData(string url, Dictionary<string, object> paramters, string file)
        {

            string result = "";
            try
            {
                HttpClient client = new HttpClient();
                var FormData = new MultipartFormDataContent();
                string boundary = string.Format($",boundary=--{0}", DateTime.Now.Ticks.ToString("x"));
                FormData.Headers.Add("ContentType", $"multipart/form-data{boundary}");
             
                if (!string.IsNullOrEmpty(file))
                {
                    string file_Type = "faceImage";
                    FormData.Add(new ByteArrayContent(File.ReadAllBytes(file)), file_Type, file);
                }
        
                foreach (var key in paramters.Keys)
                {
                    FormData.Add(new StringContent(paramters[key].ToString()), key);
                }
                HttpResponseMessage response = client.PostAsync(url, FormData).Result;
                result = response.Content.ReadAsStringAsync().Result;

            }
            catch (Exception err)
            {
                return "PostJsonFormData Err:" + err.Message;
            }
            return result;

        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章