输入[type =" file"],不同操作系统和浏览器中的不同mime类型

时间:2015-01-14 07:21:17

标签: html5 google-chrome file-upload

在chrome上上传csv文件时我没有得到任何类型(上传其他文件,如.pdf,.jpg等,我得到了他们的类型)。仅在Window的Chrome浏览器中会出现此问题。在其他浏览器和操作系统中它工作正常。我使用的是最新的chrome版本,示例代码是:



<!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>
&#13;
&#13;
&#13;

我的Plunker示例是here

1 个答案:

答案 0 :(得分:0)

CSV文件有很多可能的MIME类型,具体取决于用户的操作系统和浏览器版本。因此,您需要创建一个可能的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']