在IE上使用javascript验证文件类型

在IE上使用javascript验证文件类型,javascript,file-upload,internet-explorer-8,Javascript,File Upload,Internet Explorer 8,在不支持javaScript FileReader的浏览器(如IE8)上,是否可以读取在输入字段中选择的文件类型 我想检测所选文件是否为图像。我将进行服务器端验证,但也希望用户在提交之前知道文件是否正确。我尝试了许多不同的解决方案,但找不到对IE8的任何支持 此javascript在IE8中不起作用: <input id="uploadImage" type="file"name="myPhoto" onchange="isImage();" /> var upload_image

在不支持javaScript FileReader的浏览器(如IE8)上,是否可以读取在输入字段中选择的文件类型

我想检测所选文件是否为图像。我将进行服务器端验证,但也希望用户在提交之前知道文件是否正确。我尝试了许多不同的解决方案,但找不到对IE8的任何支持

此javascript在IE8中不起作用:

<input id="uploadImage" type="file"name="myPhoto" onchange="isImage();" />

var upload_image = document.getElementById("uploadImage");
function isImage() {
    if (
        upload_image.files[0].type == 'image/jpg' ||
        upload_image.files[0].type == 'image/jpeg' ||
        upload_image.files[0].type == 'image/png' ||
        upload_image.files[0].type == 'image/gif' ||
        upload_image.files[0].type == 'image/bmp'
        ) {
            return true;
        }
        else return false;
    }
“accept”参数在旧IE版本中也不起作用:

<input name="img1" id="img1" type="file" accept="image" />


无论如何,您确实需要检查服务器上的文件,因此对于无法运行的客户端,您可以允许任何操作并中继任何服务器生成的错误。对于不支持FileReader的IE或浏览器,您可以使用回退来检查文件扩展名。可能的副本当然可以检查文件扩展名,但是,没有理由有人为了遵循文件命名规则而精心设计一个漏洞。服务器确实需要检查文件内容。我怀疑这不可能做到,或者至少不容易做到。
<input name="img1" id="img1" type="file" accept="image" />