我使用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 }));
答案 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);
}