您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。

2026-03-31 09:231阅读0评论SEO资源
  • 内容介绍
  • 相关推荐

本文共计376个文字,预计阅读时间需要2分钟。

您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。

目录 + HttpClient + Post参数同时上传文件 + Demo + 以下 + HttpClient上传文件到服务器(multipart/form-data) + Demo + 以下 + using (var client=new HttpClient()) {

目录
  • HttpClient Post参数同时上传文件
    • Demo 如下
  • HttpClient上传文件到服务器(multipart/form-data)

    您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。

    HttpClient Post参数同时上传文件

    Demo 如下

    using (var client = new HttpClient()) {     using (var multipartFormDataContent = new MultipartFormDataContent())     {         var values = new[]         {             new KeyValuePair<string, string>("c", "3"),             new KeyValuePair<string, string>("c", "2"),             new KeyValuePair<string, string>("d", "2")              //other values         };           foreach (var keyValuePair in values)         {             multipartFormDataContent.Add(new StringContent(keyValuePair.Value),                 String.Format("\"{0}\"", keyValuePair.Key));         }           multipartFormDataContent.Add(new ByteArrayContent(System.IO.File.ReadAllBytes(@"D:\test.jpg")),             "\"pic\"",             "\"test.jpg\"");           var requestUri = "localhost:8080";         var html = client.PostAsync(requestUri, multipartFormDataContent).Result.Content.ReadAsStringAsync().Result;     } }

    HttpClient上传文件到服务器(multipart/form-data)

    string reqUrl = JsonrpcHttpClient.MakeRpcUrl(typeof(Wfm_SimReport).Name, "save"); using (HttpClient client = new HttpClient(new HttpClientHandler() { UseCookies = false }))//若想手动设置Cookie则必须设置UseCookies = false { string boundary = string.Format("----WebKitFormBoundary{0}",DateTime.Now.Ticks.ToString("x")); MultipartFormDataContent content = new MultipartFormDataContent(boundary); #region 设置请求参数 content.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data"); content.Headers.Add("Cookie", TokenManager.Token); content.Headers.Add("client", "true"); #endregion if (string.IsNullOrEmpty(fullPath) && !File.Exists(fullPath)) { return false; } string fileName = Path.GetFileName(fullPath); #region Stream请求 FileStream fStream = File.Open(fullPath, FileMode.Open, FileAccess.Read); content.Add(new StreamContent(fStream, (int)fStream.Length), "file", fileName); #endregion content.Add(new StringContent(JsonHelper.Serialize(entity)), "dtoStr"); var result = client.PostAsync(reqUrl, content).Result; try { if (result.IsSuccessStatusCode) { string rslt = result.Content.ReadAsStringAsync().Result; Debug.WriteLine(rslt); return true; } } catch (Exception ex) { Debug.WriteLine(string.Format("获取服务器返回结果错误:消息:{0},堆栈:{1}",ex.Message,ex.StackTrace)); } finally { //关闭文件流 fStream.Close(); client.Dispose(); } }

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

    本文共计376个文字,预计阅读时间需要2分钟。

    您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。

    目录 + HttpClient + Post参数同时上传文件 + Demo + 以下 + HttpClient上传文件到服务器(multipart/form-data) + Demo + 以下 + using (var client=new HttpClient()) {

    目录
    • HttpClient Post参数同时上传文件
      • Demo 如下
    • HttpClient上传文件到服务器(multipart/form-data)

      您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。

      HttpClient Post参数同时上传文件

      Demo 如下

      using (var client = new HttpClient()) {     using (var multipartFormDataContent = new MultipartFormDataContent())     {         var values = new[]         {             new KeyValuePair<string, string>("c", "3"),             new KeyValuePair<string, string>("c", "2"),             new KeyValuePair<string, string>("d", "2")              //other values         };           foreach (var keyValuePair in values)         {             multipartFormDataContent.Add(new StringContent(keyValuePair.Value),                 String.Format("\"{0}\"", keyValuePair.Key));         }           multipartFormDataContent.Add(new ByteArrayContent(System.IO.File.ReadAllBytes(@"D:\test.jpg")),             "\"pic\"",             "\"test.jpg\"");           var requestUri = "localhost:8080";         var html = client.PostAsync(requestUri, multipartFormDataContent).Result.Content.ReadAsStringAsync().Result;     } }

      HttpClient上传文件到服务器(multipart/form-data)

      string reqUrl = JsonrpcHttpClient.MakeRpcUrl(typeof(Wfm_SimReport).Name, "save"); using (HttpClient client = new HttpClient(new HttpClientHandler() { UseCookies = false }))//若想手动设置Cookie则必须设置UseCookies = false { string boundary = string.Format("----WebKitFormBoundary{0}",DateTime.Now.Ticks.ToString("x")); MultipartFormDataContent content = new MultipartFormDataContent(boundary); #region 设置请求参数 content.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data"); content.Headers.Add("Cookie", TokenManager.Token); content.Headers.Add("client", "true"); #endregion if (string.IsNullOrEmpty(fullPath) && !File.Exists(fullPath)) { return false; } string fileName = Path.GetFileName(fullPath); #region Stream请求 FileStream fStream = File.Open(fullPath, FileMode.Open, FileAccess.Read); content.Add(new StreamContent(fStream, (int)fStream.Length), "file", fileName); #endregion content.Add(new StringContent(JsonHelper.Serialize(entity)), "dtoStr"); var result = client.PostAsync(reqUrl, content).Result; try { if (result.IsSuccessStatusCode) { string rslt = result.Content.ReadAsStringAsync().Result; Debug.WriteLine(rslt); return true; } } catch (Exception ex) { Debug.WriteLine(string.Format("获取服务器返回结果错误:消息:{0},堆栈:{1}",ex.Message,ex.StackTrace)); } finally { //关闭文件流 fStream.Close(); client.Dispose(); } }

      以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。