C# 如何在Azure函数中接收多部分表单数据?

C# 如何在Azure函数中接收多部分表单数据?,c#,azure-functions,C#,Azure Functions,这个答案解释了如何通过C#中的HTTP POST发送多部分表单数据: 从答案中引用的代码: private async Task<System.IO.Stream> Upload(string actionUrl, string paramString, Stream paramFileStream, byte [] paramFileBytes) { HttpContent stringContent = new StringContent(paramString);

这个答案解释了如何通过C#中的HTTP POST发送多部分表单数据:

从答案中引用的代码:

private async Task<System.IO.Stream> Upload(string actionUrl, string paramString, Stream paramFileStream, byte [] paramFileBytes)
{
    HttpContent stringContent = new StringContent(paramString);
    HttpContent fileStreamContent = new StreamContent(paramFileStream);
    HttpContent bytesContent = new ByteArrayContent(paramFileBytes);
    using (var client = new HttpClient())
    using (var formData = new MultipartFormDataContent())
    {
        formData.Add(stringContent, "param1", "param1");
        formData.Add(fileStreamContent, "file1", "file1");
        formData.Add(bytesContent, "file2", "file2");
        var response = await client.PostAsync(actionUrl, formData);
        if (!response.IsSuccessStatusCode)
        {
            return null;
        }
        return await response.Content.ReadAsStreamAsync();
    }
}
私有异步任务上载(字符串actionUrl、字符串paramString、流paramFileStream、字节[]paramFileBytes)
{
HttpContent-stringContent=新的stringContent(参数字符串);
HttpContent fileStreamContent=新的流内容(paramFileStream);
HttpContent ByteContent=新的ByteArrayContent(paramFileBytes);
使用(var client=new HttpClient())
使用(var formData=new MultipartFormDataContent())
{
添加(stringContent,“param1”、“param1”);
添加(fileStreamContent,“file1”,“file1”);
formData.Add(bytecontent,“file2”,“file2”);
var response=wait client.PostAsync(actionUrl,formData);
如果(!response.issucessStatusCode)
{
返回null;
}
return wait response.Content.ReadAsStreamAsync();
}
}
在Azure函数中,您如何正确地接收此类POST请求


似乎
HttpRequest
Form属性(
req.Form[“file1”]
)总是给您一个字符串,而不是访问流。如何正确获取“file1”或“file2”键的原始字节[]数据?

默认模板使用
HttpRequest
参数创建Azure函数。事实证明,您可以将其更改为
HttpRequestMessage
参数,然后使用
req.Content.ReadAsMultipartAsync()
来读取单个多格式部分。

默认模板使用
HttpRequest
参数创建Azure函数。事实证明,您可以将其更改为
HttpRequestMessage
参数,然后使用
req.Content.ReadAsMultipartAsync()
来阅读各个不同形式的部分。

您也可以帮助我了解python版本吗?@Abhijeet抱歉,我帮不上忙,但您可以发布一个新问题并询问所有python专家。是的,当然。我会这么做的。你能帮我学习python版本吗?@Abhijeet抱歉,我帮不了你,但是你可以发布一个新问题,并询问所有python专家。是的,当然。我会的