上传文件时OutOfMemory

时间:2013-07-05 17:59:34

标签: c# asp.net file-upload plupload

我的代码:

int chunk = Request["chunk"] != null ? int.Parse(Request["chunk"]) : 0;
string fileName = Request["name"] != null ? Request["name"] : string.Empty;
Response.Write(Request.Files.Count);
HttpPostedFile fileUpload = Request.Files[0];

var uploadPath = Server.MapPath("~/uploaded-files");
if (Request.QueryString["originals"] == "yes")
{
    using (var fs = new FileStream(Path.Combine(uploadPath, fileName), chunk == 0 ? FileMode.Create : FileMode.Append))
    {
        var buffer = new byte[fileUpload.InputStream.Length];
        fileUpload.InputStream.Read(buffer, 0, buffer.Length);
        fs.Write(buffer, 0, buffer.Length);
    }
}

我收到'System.OutOfMemoryException'错误。

我的机器有4演出的RAM。有问题的文件大约是1 GB。我正在使用plUpload进行上传。

我启用了3GB开关。没有不同。我有很多可用的RAM,为什么我的内存不足?是否存在使用较少内存的替代方法?

1 个答案:

答案 0 :(得分:4)

另一种实现方式是在HttpPostedFile上使用SaveAs

fileUpload.SaveAs(Path.Combine(uploadPath, fileName));