2014-03-27 35 views
0

我將文件上傳到文件上傳控件後驗證文件類型。在驗證中,我允許.xls文件類型。但在某些瀏覽器中不允許.xls文件。文件上傳控件在某些瀏覽器中不接受.xls文件?

可能是什麼問題?

var fileExt = ["application/pdf","application/msword", "image/gif", "image/jpeg", 
       "image/png", "text/csv", "text/html", "application/vnd.ms-excel", 
       "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", 
       "application/vnd.ms-powerpoint", "application/vnd.openxmlformats- 
         officedocument.presentationml.presentation", 
       "application/vnd.openxmlformats- 
         officedocument.wordprocessingml.document", "text/plain"]; 
if (fileExt.indexOf(file.type) <= -1) { 
    $('input[id="Attachment"]').removeClass("valid").addClass("input-validation-error"); 
    $('#spanAttachment').removeClass("field-validation-valid").addClass("input-validation-error red"); 
    $('#spanAttachment').empty(); 
    $('#spanAttachment').append("<span for='FirstName' 
          class=''>Filetype is not accepted.</span>"); 
    $('#btnSubmit').attr('disabled', true); 
} 

http://i.stack.imgur.om/CVQfL.png

+0

在這種情況下,我假設某些瀏覽器無法正確解析文件類型,並簡單地發送默認的文件類型,而不是'application/vnd.ms-speadsheet'類型。在有問題的瀏覽器中提醒'file.type'以查看它實際返回的內容。 – Tommy

+0

@tommy,警報不顯示任何內容。沒有任何警報。 – James123

+0

這意味着這些瀏覽器根本沒有返回文件類型,這就可以解釋爲什麼它沒有通過你的測試或文件。類型不符合你的期望。任何不使用文件擴展名而不是MIME類型的理由? – Tommy

回答

0

使用還有那些MIME類型:

application/excel 
application/x-excel 
application/x-msexcel 
+0

仍然不起作用。 – James123

+0

用這種方法GIF的作品? – MrPk