我使用以下代码,允许用户浏览本地devive上的图像并选择上传。
该代码在Firefox 49.x和Chrome 49.x中完美运行,但在IE 9.x中则无法运行。
代码中有一个“addEventListener”作为其中的一部分,用于查看浏览器是否支持文件uplaod。
使用IE 9.x并尝试选择上传文件时,代码会发出错误“浏览器不支持文件上传”。错误按摩在下面的代码中,但是nayone知道为什么IE不起作用。
window.URL = window.URL || window.webkitURL;
var elBrowse = document.getElementById("browse"),
elPreview = document.getElementById("preview2"),
useBlob = false && window.URL; // `true` to use Blob instead of Data-URL
function readImage(file) {
var reader = new FileReader();
reader.addEventListener("load", function() {
var image = new Image();
image.addEventListener("load", function() {
if (image.height >= 390) {
var imageInfo = '<br><br>Your selected file size is<br> Display width ' +
image.width + ',px <br> Display height ' +
image.height + 'px ' + '';
elPreview.appendChild(this);
elPreview.insertAdjacentHTML("beforeend", imageInfo + '<br>');
$("#resetfile").show();
} else {
$("#image_field").val('');
$("#preview2").val('');
alert(file.name + '\n\n Selected image is to small\n Display width ' + image.width + ',\n Display height ' + image.height + ' \n\n Please change the image size');
}
});
image.src = useBlob ? window.URL.createObjectURL(file) : reader.result;
if (useBlob) {
window.URL.revokeObjectURL(file);
}
});
reader.readAsDataURL(file);
}
elBrowse.addEventListener("change", function() {
var files = this.files;
var errors = "";
if (!files) {
errors += "File upload not supported by your browser.";
}
if (files && files[0]) {
for (var i = 0; i < files.length; i++) {
var file = files[i];
if ((/\.(png|jpeg|jpg|gif)$/i).test(file.name)) {
readImage(file);
} else {
errors += file.name + " Unsupported Image extension\n";
}
}
}
if (errors) {
alert(errors);
}
});
非常感谢你的时间。