输入类型文件在IE 8中不起作用

时间:2013-12-30 09:25:13

标签: javascript html css internet-explorer internet-explorer-8

好的,这在chrome,safari等中运行良好。

但它在IE8中不起作用

输入

<input accept="image/png,image/gif,image/jpeg" id="user_profile_photo" name="user_profile[photo]" type="file">

javasciprt

$("#user_profile_photo").change(function(){
  imageIsDelete = false;
    readURL(this);
}); 

function readURL(input) {
  if (input.files && input.files[0]) {
    var reader = new FileReader();

    reader.onload = function (e) {
      if(imageSizeValidationCheck(input.files[0].size)){
        $('#myprofile_image').attr('src', e.target.result); 
      }
    }

    reader.readAsDataURL(input.files[0]);
  }
}
function imageSizeValidationCheck(size){
  if(size/1024>200){
    alert("Please upload image size lower then 200KB");
    $("#user_profile_photo").replaceWith($("#user_profile_photo").clone( true ) );
    return false;
  }else{
    return true;
  }
}

我在IE开发工具中对此进行了调试,问题是

input.files

它在IE8中不存在(但它在chrome中有效)

还有另一种检查图像大小的方法吗?

1 个答案:

答案 0 :(得分:4)

FileReader是HTML5文件API的一项功能,IE第10版支持该功能:

http://caniuse.com/filereader