如何使用HttpClient作为主体参数将CSV文件作为流上传?

时间:2019-05-22 12:18:15

标签: c# stream httpclient

我正尝试使用以下代码将csv文件转换为contentStream。

private const string ResourceFolder = "TestData\\";
private HttpContent _form;

      public void SendFile(string resource, string fileName)
    {
        _form = string.IsNullOrWhiteSpace(fileName)
            ? _form = new StringContent(string.Empty)
            : _form = new StreamContent(File.OpenRead($"{ResourceFolder}{fileName}"));

        var content = new MultipartFormDataContent();
           content.Add(_form);
        _form.Headers.ContentType = new MediaTypeHeaderValue("application/csv");

        WhenThePostRequestExecutesWithContent(resource, content);

    }

    public async void WhenThePostRequestExecutesWithContent(string resource, HttpContent content)
    {
        ResponseMessage = await HttpClient.PostAsync(resource, content);
    }

我正在使用.Net core 2.1,它在File位置的最后一行给出了以下错误

问题是我仍找不到下面的控制器文件参数为空

控制器:

public async Task<IActionResult> SeedData(IFormFile file)
{
    var result = await _seedDataService.SeedData(file);
    return Ok(new { IsUploadSuccesful = result});
}

1 个答案:

答案 0 :(得分:0)

感谢大家的贡献,下面的代码解决了这个问题。

column name