【发布时间】: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