Javascript文件类型返回undefined

时间:2017-11-22 19:07:19

标签: javascript

寻找关于为什么某个特定用户未通过某些基本验证的任何想法。我们有一个适用于所有其他用户的文件输入,但对于正在接收文件的一个用户来说失败。类型为'undefined'。以下问题的简化版本:

<input type="file" id="file" />
<input type="button" value="Upload Attachment" onclick="startUpload()" id="uploadBtn" /> 


function startUpload(){

    var file = j$("#file")[0].files[0];

    if ( file === null || file === undefined ){
        // Handle Error
    } else {

        if (validFile(file)){
            processFile(file);
        }
    }
}

function validFile(file){

    console.log('file.Type = [' + file.Type + ']');

    if(file.type != "application/x-zip-compressed") {
        displayMessage("Error: Uploaded file must be a Zip file.",true);
    } 
}

用户尝试上传的文件已由其他用户/测试人员上传。无论浏览器是什么,这个错误都会持续存在。我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

感谢@ Li357的反馈,问题是该脚本只检查ZIP存档使用的至少5种MIME类型之一:

  • 应用/八位字节流
  • 多部分/ X-拉链
  • 应用程序/压缩
  • 应用程序/压缩压缩的
  • 应用程序/ x-ZIP压缩的

更新验证更具包容性,并按预期工作。