2014-07-23 25 views
0

我正在使用html輸入文件上傳文件。除了.Zip或.rar的情況外,一切工作都正常。我正在檢查通用處理程序中的張貼文件,如:用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

您是否嘗試過使用Fiddler(或任何其他觀察者)檢查來查看實際發送的請求並查看標頭? – developer82

+0

你想通過AJAX上傳文件嗎?這本身不起作用。 – 48klocs

+0

ya..with ajax post !!!如果是這樣..如何發佈zip文件? :-( – user3860465

回答

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); 
    } 
+0

oo yea !!!我可以在這裏得到filecontent ... !!!讓我完成它!thanx for d idea !!! – user3860465

+0

你是否試圖異步上傳文件? –