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

C# 使用HttpClient上傳文件并附帶其他參數(shù)的步驟

 更新時間:2020年12月14日 09:14:39   作者:傅小灰  
這篇文章主要介紹了C# 使用HttpClient上傳文件并附帶其他參數(shù)的步驟,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下

HttpClientMultipartFormDataContent(傳送門)最低適用于.NET Framework 4.5版本

發(fā)送端代碼

using (HttpClient client = new HttpClient())
{
  var content = new MultipartFormDataContent();
  //添加字符串參數(shù),參數(shù)名為qq
  content.Add(new StringContent("123456"), "qq");

  string path = Path.Combine(System.Environment.CurrentDirectory, "1.png");
  //添加文件參數(shù),參數(shù)名為files,文件名為123.png
  content.Add(new ByteArrayContent(System.IO.File.ReadAllBytes(path)), "file", "123.png");

  var requestUri = "http://192.168.1.108:56852/api/Test/SaveFile";
  var result = client.PostAsync(requestUri, content).Result.Content.ReadAsStringAsync().Result;

  Console.WriteLine(result);
}

接收端代碼

[HttpPost]
public async Task<JsonResult> SaveFile([FromForm]string qq, IFormFile file)
{
  return await Task.Run(() =>
  {
    try
    {
      //保存文件到本地
      var filefullPath = Path.Combine(Directory.GetCurrentDirectory(), file.FileName);
      using (FileStream fs = new FileStream(filefullPath, FileMode.Create))
      {
        file.CopyTo(fs);
        fs.Flush();
      }
    }
    catch (Exception ex)
    {
      return Fail(file.FileName + "---" + ex.Message);
    }
    return Success();
  });
}

注意:如果要通過參數(shù)形式接收數(shù)據(jù),需要確保參數(shù)名稱和上面發(fā)送請求中設(shè)置的名稱一致,否則無法自動綁定到參數(shù)中,且需要給參數(shù)加上[FromForm]的標(biāo)記。

使用model對象接收數(shù)據(jù)

public class SaveFileModel
{
  public string qq { get; set; }
  public IFormFile File { get; set; }
}
public async Task<JsonResult> SaveFile([FromForm]SaveFileModel model)
{
  //......
}

使用HttpContext從請求的Form中獲取數(shù)據(jù)

public async Task<JsonResult> SaveFile()
{
  return await Task.Run(() =>
  {
    var files = HttpContext.Request.Form.Files;
    var qq = HttpContext.Request.Form["qq"];
    //......
  });
}

總結(jié)

這個問題是在寫一個.Net Core項目時遇到的,以前在.Net Framework 4.0的時候,使用string拼接表單中文件的內(nèi)容,到處都是boundary分界線。用MultipartFormDataContent來進(jìn)行表單提交上傳文件是它內(nèi)部幫我們拼接了這個復(fù)雜的內(nèi)容。(可以用Fiddler抓一下請求看看)emm...我去找一下當(dāng)初是怎么弄的文件上傳,如果有再更新此文。

以上就是C# 使用HttpClient上傳文件并附帶其他參數(shù)的步驟的詳細(xì)內(nèi)容,更多關(guān)于C# 使用HttpClient上傳文件的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C# 三種方式實現(xiàn)Socket數(shù)據(jù)接收

    C# 三種方式實現(xiàn)Socket數(shù)據(jù)接收

    這篇文章主要給大家分享三種實現(xiàn)C# 實現(xiàn)Socket數(shù)據(jù)接收的方式,接下倆小編就來為大家詳細(xì)介紹吧,需要的朋友可以參考一下
    2021-10-10
  • C#實現(xiàn)rabbitmq 延遲隊列功能實例代碼

    C#實現(xiàn)rabbitmq 延遲隊列功能實例代碼

    本篇文章主要介紹了C#實現(xiàn)rabbitmq 延遲隊列功能實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-04-04
  • c#進(jìn)度條 progressBar 使用方法的小例子

    c#進(jìn)度條 progressBar 使用方法的小例子

    1、創(chuàng)建進(jìn)度條窗口2、在其他窗口中調(diào)用方法ShowProcess(int percent,string message)
    2013-04-04
  • c#實現(xiàn)最簡潔的快速排序(你絕對可以看懂)

    c#實現(xiàn)最簡潔的快速排序(你絕對可以看懂)

    這篇文章主要給大家介紹了關(guān)于利用c#實現(xiàn)如何最簡潔的快速排序,實現(xiàn)的方法你絕對可以看懂,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用c#具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • c# 9.0新特性nint和Pattern matching的使用方法

    c# 9.0新特性nint和Pattern matching的使用方法

    這篇文章主要介紹了c# 9.0新特性nint和Pattern matching的使用方法,文中講解非常細(xì)致,幫助你更好的學(xué)習(xí)c# 9.0,有需求的朋友可以參考下
    2020-06-06
  • C#驗證身份證的函數(shù)

    C#驗證身份證的函數(shù)

    因做項目需要,參考網(wǎng)上資料寫了一個身份證驗證的C#方法,本方法是在VS2005[C/S] 下寫的。前面2個是網(wǎng)友們的實現(xiàn)方法,第三個才是項目中使用的哦,小伙伴們參考下吧。
    2015-05-05
  • C#實現(xiàn)排列組合算法完整實例

    C#實現(xiàn)排列組合算法完整實例

    這篇文章主要介紹了C#實現(xiàn)排列組合算法的完整實例,文中實例主要展示了排列循環(huán)方法和排列堆棧方法,需要的朋友可以參考下
    2014-09-09
  • 詳細(xì)聊聊如何在C#循環(huán)中捕獲局部變量

    詳細(xì)聊聊如何在C#循環(huán)中捕獲局部變量

    這篇文章主要給大家介紹了關(guān)于如何在C#循環(huán)中捕獲局部變量的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2021-09-09
  • C#使用ZXing實現(xiàn)二維碼和條形碼的生成

    C#使用ZXing實現(xiàn)二維碼和條形碼的生成

    這篇文章主要為大家詳細(xì)介紹了C#如何使用ZXing實現(xiàn)二維碼和條形碼的生成與識別,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • C#自定義音樂播放器進(jìn)度條

    C#自定義音樂播放器進(jìn)度條

    這篇文章主要為大家詳細(xì)介紹了C#自定義音樂播放器進(jìn)度條效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07

最新評論

平阴县| 杭锦后旗| 奉贤区| 三亚市| 嘉善县| 竹山县| 衡水市| 大荔县| 叙永县| 涞源县| 岳普湖县| 兴隆县| 田林县| 惠水县| 凭祥市| 浦县| 常德市| 巴彦县| 达孜县| 南靖县| 离岛区| 永德县| 三亚市| 皋兰县| 新巴尔虎左旗| 安图县| 文登市| 保定市| 嘉祥县| 文化| 舞钢市| 西畴县| 峡江县| 平度市| 平陆县| 亳州市| 靖江市| 九江县| 新余市| 兴文县| 日照市|