最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# HttpClient Post參數(shù)同時(shí)上傳文件的實(shí)現(xiàn)

 更新時(shí)間:2022年06月09日 09:36:38   作者:luofeng0710  
這篇文章主要介紹了C# HttpClient Post參數(shù)同時(shí)上傳文件的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

HttpClient Post參數(shù)同時(shí)上傳文件

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上傳文件到服務(wù)器(multipart/form-data)

string reqUrl = JsonrpcHttpClient.MakeRpcUrl(typeof(Wfm_SimReport).Name, "save");
using (HttpClient client = new HttpClient(new HttpClientHandler() { UseCookies = false }))//若想手動(dòng)設(shè)置Cookie則必須設(shè)置UseCookies = false
{
                               
    string boundary = string.Format("----WebKitFormBoundary{0}",DateTime.Now.Ticks.ToString("x"));
    MultipartFormDataContent content = new MultipartFormDataContent(boundary);
 
    #region 設(shè)置請(qǐng)求參數(shù)
    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請(qǐng)求
    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("獲取服務(wù)器返回結(jié)果錯(cuò)誤:消息:{0},堆棧:{1}",ex.Message,ex.StackTrace));
    }
    finally
    {
        //關(guān)閉文件流
        fStream.Close();
        client.Dispose();
    }                
 }

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C#利用反射技術(shù)實(shí)現(xiàn)去掉按鈕選中時(shí)的邊框效果

    C#利用反射技術(shù)實(shí)現(xiàn)去掉按鈕選中時(shí)的邊框效果

    這篇文章主要介紹了C#利用反射技術(shù)實(shí)現(xiàn)去掉按鈕選中時(shí)的邊框效果,涉及C#針對(duì)窗口的參數(shù)設(shè)置技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • 使用HttpHanlder處理404:File not found的問題

    使用HttpHanlder處理404:File not found的問題

    本篇文章小編為大家介紹。使用HttpHanlder處理404:File not found的問題。需要的朋友參考下
    2013-04-04
  • C# ref and out的使用小結(jié)

    C# ref and out的使用小結(jié)

    這篇文章主要介紹了C# ref and out的使用小結(jié),幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-03-03
  • 詳解C#如何優(yōu)雅地終止線程

    詳解C#如何優(yōu)雅地終止線程

    在大多情況下,我們只關(guān)心線程的創(chuàng)建與啟動(dòng),運(yùn)行,卻并不關(guān)心線程的結(jié)束或者終止。今天這篇文章,我們就以一些簡(jiǎn)單的小例子,簡(jiǎn)述如何有效的停止線程,僅供學(xué)習(xí)分享使用,如有不足之處,還請(qǐng)指正
    2023-03-03
  • Unity?UGUI的VerticalLayoutGroup垂直布局組件介紹使用

    Unity?UGUI的VerticalLayoutGroup垂直布局組件介紹使用

    這篇文章主要為大家介紹了Unity?UGUI的VerticalLayoutGroup垂直布局組件介紹使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • C#預(yù)處理器指令詳解與示例

    C#預(yù)處理器指令詳解與示例

    在軟件開發(fā)中,我們常常需要編寫可移植和可配置的代碼,C#?預(yù)處理器指令為我們提供了這樣的能力,在本篇文章中,我們將詳細(xì)介紹C#預(yù)處理器指令的定義、語法格式、功能以及在實(shí)際編程中的應(yīng)用,需要的朋友可以參考下
    2024-04-04
  • Visual Studio 未能加載各種Package包的解決方案

    Visual Studio 未能加載各種Package包的解決方案

    打開Visual Studio 的時(shí)候,總提示未能加載相應(yīng)的Package包,有時(shí)候還無法打開項(xiàng)目,各種錯(cuò)誤提示,怎么解決呢?下面小編給大家?guī)砹薞isual Studio 未能加載各種Package包的解決方案,一起看看吧
    2016-10-10
  • c#正反序列化XML文件示例(xml序列化)

    c#正反序列化XML文件示例(xml序列化)

    這篇文章主要介紹了c#正反序列化XML文件示例,可以將對(duì)象序列化為XML文本或者文件,或者將XML文件或文本反序列化為對(duì)象,要求進(jìn)行序列化的對(duì)象不能出現(xiàn)序列化異常,支持類的嵌套,要求類的屬性為public
    2014-03-03
  • 基于c#實(shí)現(xiàn)的九九乘法表(簡(jiǎn)單實(shí)例)

    基于c#實(shí)現(xiàn)的九九乘法表(簡(jiǎn)單實(shí)例)

    本文主要分享了基于c#實(shí)現(xiàn)的九九乘法表,代碼簡(jiǎn)潔,需要的朋友可以參考下,希望對(duì)大家有所幫助
    2016-12-12
  • C#中比較兩個(gè)List是否相等的常見方法

    C#中比較兩個(gè)List是否相等的常見方法

    在?C#?里,比較兩個(gè)?List?是否相等,需要考慮多個(gè)方面,例如列表中的元素順序、元素本身是否相等,下面介紹幾種常見的比較方法,需要的朋友可以參考下
    2025-04-04

最新評(píng)論

辽阳市| 眉山市| 文昌市| 灯塔市| 镇沅| 尉犁县| 平泉县| 汽车| 平泉县| 文昌市| 延长县| 莒南县| 太仆寺旗| 水城县| 峨山| 巫溪县| 拉孜县| 汶川县| 仁化县| 万宁市| 方城县| 邯郸市| 克山县| 武义县| 岱山县| 尚志市| 仲巴县| 江西省| 临江市| 环江| 太保市| 和平区| 苍溪县| 米脂县| 同心县| 扎囊县| 乌拉特前旗| 恩施市| 珠海市| 太湖县| 汉川市|