在 Chrome 中选择相同文件时,FileReader onload 不会被触发

dev*_*evo 5 html javascript google-chrome

FileReader onload当使用 Chrome 选择同一个文件时,第二次不会被触发,而 FireFox 则一直会被触发。

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

            var image = new Image();
            image.src = e.target.result;

            image.onload = function () {
               // code
            };
        };
        reader.readAsDataURL(input.files[0]);
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里我想验证上传时的图像宽度和高度。因此,有两种情况会导致问题:

  1. 用户选择相同的图像而不进行任何更改。

    这次用户应该再次收到验证消息。

  2. 用户编辑了图像并更改了尺寸,然后重新上传。

    同样,文件值未更改,因此不会调用上传或验证。