2015-01-14 59 views
1

在chrome上上傳csv文件時,我沒有得到任何類型(上傳其他文件,如.pdf,.jpg等, )。此問題只發生在Window的Chrome瀏覽器中。在其他瀏覽器和操作系統,它工作正常。我使用最新的Chrome版本和示例代碼是:input [type =「file」],不同操作系統和瀏覽器中的不同MIME類型

<!DOCTYPE html> 
 
<html> 
 
    <body onload="myFunction()"> 
 
     <input type="file" id="myFile" onchange="myFunction()"> 
 
     <p id="demo"></p> 
 
     
 
     <script> 
 
      function myFunction(){ 
 
       var x = document.getElementById("myFile"); 
 
       var type = x.files[0].type; 
 
       
 
       document.getElementById("demo").innerHTML = 'TYPE : '+type; 
 
      } 
 
     </script> 
 
    </body> 
 
</html>

我Plunker例子是here

回答

0

有很多可能的MIME類型CSV文件,這取決於用戶的操作系統和瀏覽器版本。所以你需要創建一個可能的MIME類型的數組,並檢查它的文件類型。

可能的排列:

var mimes = ['text/csv', 
    'text/plain', 
    'application/csv', 
    'text/comma-separated-values', 
    'application/excel', 
    'application/vnd.ms-excel', 
    'application/vnd.msexcel', 
    'text/anytext', 
    'application/octet-stream', 
    'application/txt'] 
+0

謝謝回答#SuperHornet。 但這些MIME類型用於驗證文件類型格式,但是,我沒有得到文件類型。它給了我空的字符串。請參閱上面的蹦牀示例。 – Abhishek

+0

我剛在Chrome Win7中測試了你的代碼,它不是空的,並返回'application/vnd.ms-excel'@Abhishek –

+0

你測試了.csv文件嗎? 問題是.csv格式 – Abhishek

相關問題