iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#HttpClientPost参数同时上传文件的实现
  • 868
分享到

C#HttpClientPost参数同时上传文件的实现

2024-04-02 19:04:59 868人浏览 安东尼
摘要

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

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 = "http://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();
    }                
 }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: C#HttpClientPost参数同时上传文件的实现

本文链接: https://www.lsjlt.com/news/150931.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#HttpClientPost参数同时上传文件的实现
    目录HttpClient Post参数同时上传文件Demo 如下HttpClient上传文件到服务器(multipart/form-data)HttpClient Post参数同时上...
    99+
    2024-04-02
  • H5+WebSocket如何实现多文件同时上传
    这篇文章主要介绍了H5+WebSocket如何实现多文件同时上传,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在传统的HTTP应用上传文件想...
    99+
    2024-04-02
  • HTML5+WebSocket如何实现多文件同时上传
    这篇文章主要介绍了HTML5+WebSocket如何实现多文件同时上传,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。实现功能大概预览一下需要...
    99+
    2024-04-02
  • SpringBoot文件上传同时接收复杂参数的过程详解
    目录环境信息问题描述错误分析解决方法简单参数总结环境信息         Spring Boot:2....
    99+
    2022-12-19
    SpringBoot文件上传接收参数 SpringBoot文件上传 SpringBoot接收参数
  • Android中Okhttp3如何实现上传多张图片同时传递参数
    这篇文章给大家分享的是有关Android中Okhttp3如何实现上传多张图片同时传递参数的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。最近做项目,打算换个方法上传图片。Andro...
    99+
    2024-04-02
  • jQuery.Form如何实现Ajax上传文件同时设置headers
    小编给大家分享一下jQuery.Form如何实现Ajax上传文件同时设置headers,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!实例代码: <span >...
    99+
    2024-04-02
  • C#实现FTP上传文件的方法
    1.通过用FTP进行上传文件,首先要实现建立FTP连接,一般建立FTP连接,需要知道FTP配置有关的信息。一般要在Bean中建立一个ServiceFileInfo.cs文件进行记录,...
    99+
    2024-04-02
  • C#实现不同窗体之间传递参数
    目录C#不同窗体之间传递参数1.父窗口向子窗口传递参数2.子窗口向父窗口传递参数3.代码说明C#子窗体与父窗体之间的参数传输1.子窗体传父窗体2.父窗体传子窗体总结C#不同窗体之间传...
    99+
    2023-02-26
    C#传递参数 C#不同窗体 C#窗体传递参数
  • C#怎么实现FTP上传文件
    本文小编为大家详细介绍“C#怎么实现FTP上传文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#怎么实现FTP上传文件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。通过用FTP进行上传文件,首先要实现建立F...
    99+
    2023-06-30
  • vue实现实时上传文件进度条
    本文实例为大家分享了vue实时上传文件进度条,供大家参考,具体内容如下 //上传文件组件 <el-upload         action         :show-fi...
    99+
    2024-04-02
  • Spring boot实现文件上传实例(多文件上传)
    文件上传主要分以下几个步骤:(1)新建maven java project;(2)在pom.xml加入相应依赖;(3)新建一个表单页面(这里使用thymleaf);(4)编写controller;(5)测试;(6)对上传的文件做一些限制;(...
    99+
    2023-05-31
    spring boot 文件上传
  • PHP 与 Ajax:实现实时的文件上传功能
    如何使用 php 和 ajax 实现实时文件上传?在 php 中配置文件上传并设置权限。创建一个服务器端脚本处理上传。使用 jquery 编写一个客户端脚本来处理 ajax 请求。在 h...
    99+
    2024-05-12
    php ajax
  • c# 使用WebRequest实现多文件上传
    目录添加引用参数封装多文件上传封装使用c#中通常使用HttpWebRequest进行HTTP网络请求,HttpWebRequest只对Http请求进行了最简单的封装。如果要利用Htt...
    99+
    2024-04-02
  • Javaselenium上传文件的实现
    目录下载和安装AutoIt1.打开AutoIt的官网下载下载和安装AutoIt 文件上传是自动化中棘手的部分,目前selenium并没有提供上传的实现api,所以知道借助外力来完成,...
    99+
    2024-04-02
  • C#如何实现不同窗体之间传递参数
    今天小编给大家分享一下C#如何实现不同窗体之间传递参数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。C#不同窗体之间传递参数...
    99+
    2023-07-05
  • ASP.NET实现文件上传
    本文实例为大家分享了ASP.NET实现文件上传的具体代码,供大家参考,具体内容如下 .NET中C/S和B/S上传文件不同 B/S中文件上传和C/S中的文件上传性质完全不一样 在C/S...
    99+
    2024-04-02
  • vue实现文件上传
    本文实例为大家分享了vue实现文件上传的具体代码,供大家参考,具体内容如下 记录问题,方便回顾 1、使用elementUI的 el-upload插件进行上传。 2、使用input。 ...
    99+
    2024-04-02
  • PHP实现文件上传
    上传文件的必备三个条件: 上传到后台的文件 method = "post";(不可以为get方法) enctype = "multipart/form-data";(注意哦,是data,不是date) 三者缺一不可 后台PHP的$_FIL...
    99+
    2023-09-02
    php 服务器 开发语言
  • python文件间传递参数怎么实现
    在Python中,可以使用命令行参数、环境变量、文件等方式在不同的Python文件之间传递参数。1. 命令行参数:可以使用`sys....
    99+
    2023-09-27
    python
  • 微信小程序接口请求多文件+参数上传、单文件+参数上传(formData形式) 微信小程序实现formData格式传参(亲测有效)
    01.引入所需formData js文件 1.文件链接 链接: https://pan.baidu.com/s/1BDxx0-1KMAnkceXb45L5rg 提取码: 6ibp 2.引入使用 const FormData = requir...
    99+
    2023-08-17
    微信小程序 小程序 小程序formData格式传参
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作