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]);
}
}
在这里我想验证上传时的图像宽度和高度。因此,有两种情况会导致问题:
-
用户选择相同的图像而不进行任何更改。
这次用户应该再次收到验证消息。
-
用户编辑了图像并更改了尺寸,然后重新上传。
同样,文件值没有更改,因此上传或验证没有被调用。
检查与您的问题类似的问题:
Chrome 文件上传错误:更改事件不会使用同一文件执行两次 https://stackoverflow.com/questions/9155136/chrome-file-upload-bug-on-change-event-wont-be-executed-twice-with-the-same-fi
输入文件 onchange 事件未在 Chrome 中触发 https://stackoverflow.com/questions/6623310/input-file-onchange-event-not-being-fired-in-chrome
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)