2013-03-28 30 views
0

我想創建上載文件操作,所以我把下面的代碼:如何將文件瀏覽器過濾到IE上的特定擴展名?

<img src="[@spring.url '/images/buttons/upload.jpg'/]" onclick="uploadFile()" title="Upload File" /> 

//I want to do this without showing the input file 
<div style="display: none;"> 
    <input id="inputFile" type="file" name="upload" accept=".txt,.csv,.zip" onchange="uploadListener();"> 
</div> 

圖像標籤有理智最多做的文件只是我不想顯示輸入文件,所以我用圖片來代替調用它。

和JS是這樣的:

function uploadFile(){ 
     document.getElementById('inputFile').click(); 

    } 

    function uploadListener(){ 

      alert($('#inputFile').val()); 
      $.ajax({ 
       type: "POST", 
       url: "/panda/assay/designability/uploadFile.htm", 
       data: {file: $('#inputFile').val()} , 
       success: function(response){ 

       } 
      }); 

    } 

這個從來沒有做過創建自定義過濾器,我發現了「接受」屬性不支持IE unfortunatley我與它的工作。有什麼建議麼??

回答

1

您將不得不在服務器上檢查此項。作爲一種最佳實踐,尤其是在文件上傳的情況下,無論如何您都應該在服務器端進行一些檢查,以避免惡意腳本注入/執行。確實很容易更新HTML/JavaScript客戶端,以便能夠上傳任何類型的文件...我也建議將您的文件存儲在webroot之外,但這與此問題無關......

+0

我這樣做,但我希望用戶在他/她執行此操作時看到「只」特定文件。 webroot之外的什麼文件? –

+0

哦,好吧,我的壞。那麼我怕你只能等待IE來實現這個屬性。 你應該將上傳的文件存儲在webroot之外,這樣如果有惡意文件上傳,人們無法從網絡上啓動它... –

+0

OMG!我等不及了。並感謝您的提示:-) –

相關問題