C# 将MemoryStream转换为字节[]-无法访问封闭流

C# 将MemoryStream转换为字节[]-无法访问封闭流,c#,asp.net-mvc,stream,C#,Asp.net Mvc,Stream,我有一个文件上传可以上传异步文件 $("#files").kendoUpload({ async: { saveUrl: "AddFile", autoUpload: true } }); 在AddFile操作中,我将发布的文件存储在tempData中 public ActionResult AddFile(IEnumerable<HttpPostedF

我有一个文件上传可以上传异步文件

   $("#files").kendoUpload({
        async: {
            saveUrl: "AddFile",              
              autoUpload: true
          }
    });
在AddFile操作中,我将发布的文件存储在tempData中

   public ActionResult AddFile(IEnumerable<HttpPostedFileBase> files)
    {
        TempData["PostedFile"] = files;
        // Return an empty string to signify success
        return Content("");
    }
public ActionResult AddFile(IEnumerable文件)
{
TempData[“PostedFile”]=文件;
//返回一个空字符串表示成功
返回内容(“”);
}
在Create操作中,当我想将postedfile Inputdtream转换为byte[]时,我有一个异常

无法访问已关闭的文件

if((TempData[“PostedFile”]作为IEnumerable)!=null)
{
var postedfile=(TempData[“postedfile”]作为IEnumerable);
MemoryStream target=新的MemoryStream();
postedfile.InputStream.CopyTo(目标);//此行有异常
字节[]数据=target.ToArray();
}
更新
当我上传一个大小为80Kb的文件时,我的代码工作了…当我的文件大小为500k时,mycode有异常

这是MVC引擎的正确行为。为什么不在AddFile操作中将字节数组存储在TempData中?

检查我的更新问题
  if ((TempData["PostedFile"] as IEnumerable<HttpPostedFileBase>)!= null)
     {

      var postedfile =(TempData["PostedFile"] as IEnumerable<HttpPostedFileBase>).ElementAt(0);

       MemoryStream target = new MemoryStream();
       postedfile.InputStream.CopyTo(target);//This Line Has exception
       byte[] data = target.ToArray();
      }