2011-04-20 132 views
0

文件上傳我有這個簡單的腳本問題與使用jQuery的IE瀏覽器和Chrome

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
    <asp:Button ID="btnUploadFile" runat="server" Text="Button" /> 
    <input id="File1" type="file" /> 
</asp:Content> 

$(document).ready(function() 
{ 
    $('#file_upload').fileUpload({ 
     url: 'UploadHandler.ashx', 
     method: 'POST' 
     // autoUpload: false, 
//  onLoadAll: function (list) 
//  { 
//   __doPostBack('MainContent_UpdatePanel1', ''); 
//  }, 

    }); 

    $('#File1').css({ 'position': 'absolute', 'z-index': '-100' }); //hack for chrome, in fx enough is jquery hide() 

    $('#MainContent_btnUploadFile').click(function() 
    { 
     $('#File1').click(); 
     return false; 
    }); 
}); 

和HTTP處理程序

public class UploadHandler : IHttpHandler 
    { 

     public void ProcessRequest(HttpContext context) 
     { 
      HttpPostedFile uploadedfile = context.Request.Files[0]; 
     } 

     public bool IsReusable 
     { 
      get 
      { 
       return false; 
      } 
     } 
    } 

當我啓動這個代碼,在Firefox是一切ok。在http處理程序中有我上傳的文件。但在鉻我有例外,因爲Request.Files沒有文件。在選定的文件後,在Internet Explorer中結束。它永遠不會到達處理程序。爲什麼不同瀏覽器上的地獄有那麼多不同的結果? jquery上傳插件位於這裏http://aquantum-demo.appspot.com/file-upload 我該怎麼處理它?來自asp.net插件頁面的示例在Chrome上可以正常工作。我認爲我寫的內容與本例中的方式相同,但不起作用。

+0

請不要把「[asp.net]」在你的頭銜。它已經在它所屬的標籤中。 – 2011-04-20 22:43:00

+0

是否可以與https://github.com/blueimp/jQuery-File-Upload/issues/185相關 – 2011-04-20 22:45:34

回答

0

根據我的經驗,有些瀏覽器會發送文件中context.Request.Files("<filename>").InputStream
其他人會使用context.Request.InputStream

我使用http://valums.com/ajax-upload/爲上傳控件