如何使用Web API中的multipart / form-data接收文件

时间:2019-02-12 20:12:30

标签: c# .net asp.net-web-api asp.net-web-api2 postman

我是API开发的新手,我只想使用multipart/form-data来接收文件。下面是代码段。

 public async Task<bool> Upload()
{
    try
    {
        var filesReadToProvider = await Request.Content.ReadAsMultipartAsync();
        foreach (var stream in filesReadToProvider.Contents)
        {
            var fileBytes = await stream.ReadAsByteArrayAsync();
            using (MemoryStream memoryStream = new MemoryStream(fileBytes))
            {
                // Some Logic
            }
        }
    }
    catch (Exception e)
    {
        throw;
    }

    return true;
}

enter image description here

上面是我的文本文件的确切内容,我将其命名为test.txt

我的邮递员要求正文:

enter image description here

我的邮递员标题:

enter image description here

问题1:这是在multipart / form-data中接收文件的正确方法吗?我上面的代码正确吗?

问题2:如果我将内容类型保留为空是否可以,是否会自动注入multipart / form-data?

P.S:通过上述邮递员配置,我能够成功发送文件。

P.P.S:键入Content-Type as multipart / form-data`后,我开始出现如下异常:

enter image description here

  

提供了无效的“ HttpContent”实例。它没有   具有“边界”参数的“多部分”内容类型标头。参数   名称:内容

问题3:在邮递员中添加Content-Type时出现异常。 请指导我。

相关链接:Link for SO which I referred

0 个答案:

没有答案