使用zip文件和rar文件上传处理程序

时间:2014-07-23 13:19:37

标签: c# javascript ajax

我使用html输入文件上传文件。除了.Zip或.rar之外,一切正常。我在通用处理程序中检查发布的文件,如:

HttpPostedFile PostedFile = context.Request.Files[0];

if (!(PostedFile == null))
{
    //do processing..
}

我尝试过图像文件,pdf,doc,甚至sql查询文件。每种类型都上传得很好,但是.rar或.zip文件的情况下我没有将文件发布到ashx处理程序中。我的意思是每次出现object reference not set to an instance of an object错误。

我想知道如何将.rar文件或.zip文件发布到处理程序。我使用表单数据在客户端附加数据,如:

var form = $("#form1")[0];
var formdata = new FormData(form);
formdata.append('Data', JSON.stringify({ objEnt: args }));

1 个答案:

答案 0 :(得分:0)

检查您是否在context.Request.InputStream中获取了文件内容。如果是,那么您可以使用以下代码:

    if (context.Request.InputStream != null && context.Request.InputStream.Length > 0)
    {
        System.IO.Stream fileContent = context.Request.InputStream;

        System.IO.FileStream fileStream = System.IO.File.Create(Server.MapPath("~/") + fileName);
        fileContent.Seek(0, System.IO.SeekOrigin.Begin);

        fileContent.CopyTo(fileStream);
    }