微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.net – MultipartFormDataStreamProvider vs HttpContext.Current

我很难理解为什么在使用HttpContext.Current获取所有信息时,我想使用MultipartFormDataStreamProvider。

这样做容易得多:

var mydata = HttpContext.Current.Request.Form["mydata"];

比这个:

string root = HttpContext.Current.Server.MapPath("~/somedir");
var provider = new MultipartFormDataStreamProvider(root);

this.Request.Content.ReadAsMultipartAsync(provider).ContinueWith(t =>
{
    var mydata = provider.Contents.First(c => c.Headers.Contentdisposition.Name == "\"mydata\"").ReadAsstringAsync().Result;
});

PS – 我正在尝试构建一个ApiController来接受文件上传。我读过这篇文章http://www.asp.net/web-api/overview/working-with-http/sending-html-form-data,-part-2

解决方法

这是我在 MSDN发现的。我想这可能会帮助你。

流提供者查看Content-disposition头域,并根据文件名参数的存在确定输出流。如果在Content-disposition头域中存在文件名参数,则将Body部分写入FileStream,否则将其写入MemoryStream。这使得可以方便地处理作为表单数据和文件内容的组合的MIME Multipart HTML Form数据。

原文地址:https://www.jb51.cc/aspnet/252980.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐