我有一个看起来像这样的简化表格:

<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"]选项,这是我想要的。

最佳答案

使用MultipartMemoryStreamProvider

关于c# - 读取多部分表单数据而不将文件保存到磁盘?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26427655/

10-11 15:14
查看更多