我很难用
HttpRequest
. 我特别使用
HTT请求
因为这就是vs模板所使用的。我已经用邮递员将问题简化为一个简单的测试用例。
功能:
[FunctionName("Function1")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "post")]HttpRequest req)
{
return new CreatedResult("", req.Form.Files[0].OpenReadStream());
}
邮递员:
Method: POST
URL: [Function URL]
Headers:
Content-Type: multipart/form-data
Body: binary with image selected
因此,我应该选择一个要上载的文件,单击“发送”将其上载到Azure函数,该函数将自动返回流并在邮递员响应中显示图片。
但是当我从邮递员那里调用它时,当它试图读取流时会抛出一个异常:
“System.IO.InvalidDataException:缺少内容类型边界。\r\n在Microsoft.aspnetcore.http.features.formFeature.getBoundary(MediaTypeHeaderValue ContentType,Int32 lengthLimit)上\r\n在Microsoft.aspnetcore.http.features.formFeature.innerRedormAsync(CancellationToken CancellationToken)上\r\n在Microsoft.aspnetcore.http.features.formFeatureure.readform()\r\n位于Microsoft.aspnetcore.http.internal.defaulthttprequest.get_form()\r\n位于[我的代码]“
如果我把这个换成
HttpRequestMessage
像以前的Azure函数模板一样使用
req.Content.ReadAsStreamAsync()
它就像一个魅力。
但是由于新模板使用
HTT请求
,这个问题的重点是
HTT请求
它的正确使用。那我怎么用呢
HTT请求
为了让这个工作?