-1

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

   $("#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("");
    }

在创建操作中,当我想要将张贴文件 Inputdtream 转换为 byte[] 时我有一个例外

无法访问已关闭的文件

  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();
      }

更新 当我上传一个大小为 80Kb 的文件时,我的代码可以工作......当我的文件大小为 500k 时,我的代码有异常!!!!!!!!!

4

1 回答 1

0

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

于 2013-07-17T09:15:23.237 回答