2012-06-15 40 views
1

基本上下面的大火之後,你點擊瀏覽並選擇 一個文件發送到服務器。可以從一個文件上傳輸入獲取文件數據/ VAL,並將其與一個Ajax請求

我需要的只是文件的做單文件上傳,用戶通過普通的文件輸入類型選擇 ,我想 右後選擇文件並在後臺異步完成它開火。

<input type="file" name="imagefile" size="20" /> 

$('input[type="file"]').change(function() { 

    var $file = $(this).val(); 

    $.ajax({ 
     url: "/Admin/BannerImageUpload", 
     type: 'POST', 
     processData: false, 
     contentType: false, 
     data: { file: $file }, 
     success: function (data) { 
      alert('Load was performed.'); 
     } 


    }); 

}); 
+4

你最好[不這樣做你自己(http://stackoverflow.com/questions/166221/how-can-i-upload-files-asynchronously-with-jquery#)。 –

+0

這裏是什麼似乎是一個簡單的腳本,如果你想避免臃腫:http://www.jainaewen.com/files/javascript/jquery/iframe-post-form.html –

+0

嗯,我明白了。雖然HTML5確實允許使用Ajax進行文件上傳,所以我可以研究一下。這是針對管理員區域的,因此向後兼容舊瀏覽器並不重要。 – LaserBeak

回答

0

假設客戶端瀏覽器支持它,您可以使用HTML5 File API異步上載文件。看看在示例:上載往我掛,如果你想看到執行它的必要步驟文檔末尾用戶選擇的文件部分。

另一種可能性是使用現有的即待使用AJAX文件上傳組件如Blueimp它實現此功能。使用這種控件的優點是,如果瀏覽器不支持HTML5,它將回退到標準的上傳機制。

相關問題