我有一个文件上传可以上传文件async
$("#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,我的代码工作...当我的文件sizze是500k mycode有异常!!!!!!!!!
答案 0 :(得分:0)
这是MVC引擎的正确行为。为什么不在AddFile动作中将字节数组存储在TempData中?