【问题标题】:How to receive multipart form data in Azure Function?如何在 Azure Function 中接收多部分表单数据?
【发布时间】:2020-03-12 06:38:40
【问题描述】:

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

https://stackoverflow.com/a/19664927/10779

答案引用的代码:

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();
    }
}

如何在 Azure 函数中正确接收此类 POST 请求?

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

【问题讨论】:

    标签: c# azure-functions


    【解决方案1】:

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

    【讨论】:

    • 你能帮我看看python版本吗?
    • @Abhijeet 抱歉,您可以发布一个新问题并询问所有 python 专家。
    • 是的,当然。我会这样做的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 2020-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多