我有一个看起来简化的表单,如下所示:
<form id="image-form" enctype="multipart/form-data">
<input type="text" name="imageEntryName" />
<input type="file" name="imageEntry" />
<input type="text" name="imageEntryAltText" />
<input type="submit" value="SEND INN" class="btn-ok" />
</form>
这是发布到此操作:
[HttpPost]
[Route("~/api/Exhibition/SubmitImageEntry")]
public async Task<HttpResponseMessage> SubmitImageEntry()
{
if (!Request.Content.IsMimeMultipartContent())
{
throw new HttpResponseException(HttpStatusCode.BadRequest);
}
var provider = new MultipartFormDataStreamProvider("C:/test");
var data = await Request.Content.ReadAsMultipartAsync(provider);
return new HttpResponseMessage(HttpStatusCode.OK);
}
这很有效。我得到了发布的数据。但如果没有MultipartFormDataStreamProvider
保存文件到C:/test
,这是否可行?我可以,我可以将数据保存在内存中,直到操作完成。
编辑:使用MultipartFormDataStreamProvider
我获得.FormData["key"]
选项,这就是我想要的。