C# .NET Core 1.0读取表单数据发布文件并将其放入MultipartFormDataContent中

C# .NET Core 1.0读取表单数据发布文件并将其放入MultipartFormDataContent中,c#,asp.net,asp.net-core,.net-core,C#,Asp.net,Asp.net Core,.net Core,我正在尝试获取发送到.NET核心API的表单数据。目的是将post请求重定向到另一个API 我不希望文件存储在本地,而只希望在请求中再次“传输” 这是我正在尝试的代码 MultipartFormDataContent multipartContent = new MultipartFormDataContent(); multipartContent.Add(new StringContent(Request.Form["id"]), "id"); var file = Request.Fo

我正在尝试获取发送到.NET核心API的表单数据。目的是将post请求重定向到另一个API

我不希望文件存储在本地,而只希望在请求中再次“传输”

这是我正在尝试的代码

MultipartFormDataContent multipartContent = new MultipartFormDataContent();

multipartContent.Add(new StringContent(Request.Form["id"]), "id");

var file = Request.Form.Files[0];
if (file.Length > 0)
{
    var fileStreamContent = new StreamContent(Request.Form.Files[0].OpenReadStream());
    multipartContent.Add(fileStreamContent, Request.Form.Files[0].FileName);

    client.BaseAddress = new Uri("http://example.com:8000");

    client.DefaultRequestHeaders.Accept.Clear();

    HttpResponseMessage response = await client.PostAsync("/document/upload", multipartContent);
    if (response.IsSuccessStatusCode)
    {
        retValue = await response.Content.ReadAsAsync<DocumentUploadResult>();
    }
}
MultipartFormDataContent multipartContent=new MultipartFormDataContent();
multipartContent.Add(新的StringContent(Request.Form[“id”]),“id”);
var file=Request.Form.Files[0];
如果(file.Length>0)
{
var fileStreamContent=newstreamcontent(Request.Form.Files[0].OpenReadStream());
multipartContent.Add(fileStreamContent,Request.Form.Files[0].FileName);
client.BaseAddress=新Uri(“http://example.com:8000");
client.DefaultRequestHeaders.Accept.Clear();
HttpResponseMessage response=wait client.PostAsync(“/document/upload”,multipartContent);
if(响应。IsSuccessStatusCode)
{
retValue=wait response.Content.ReadAsAsync();
}
}
似乎
Request.Form.Files[0].OpenReadStream()
无法工作,因为远程api接收到的请求为空。openReadStream是由VS2015提出的,因为我在.NET Core之前使用的.FileStream似乎不再存在了


我尝试从文件创建StreamContent的想法实际上是个好主意吗?有没有更好的类型可以用来传输MultripartFormDataContent接受的文件?

要从表单帖子读取文件,请让您的操作接受
IFormFile
参数:

public async Task<IActionResult> UploadFile(IFormFile file){

        byte[] bytes = new byte[file.Length];
        using (var reader = file.OpenReadStream())
        {
            await reader.ReadAsync(bytes, 0, (int)file.Length);
        }
 }
public异步任务上传文件(ifformfile){
byte[]bytes=新字节[file.Length];
使用(var reader=file.OpenReadStream())
{
wait reader.ReadAsync(字节,0,(int)file.Length);
}
}

如何将此文件读取的结果放入
MultipartFormDataContent
中,以便能够将其传递给我的下一个post请求?