首页  >  文章  >  web前端  >  如何在 JavaScript 中检索图像尺寸以进行上传验证?

如何在 JavaScript 中检索图像尺寸以进行上传验证?

Barbara Streisand
Barbara Streisand原创
2024-10-31 10:11:18675浏览

How to Retrieve Image Dimensions for Upload Validation in JavaScript?

使用 Javascript 验证上传的图像尺寸

在 Javascript 中实现图像上传表单时,确保上传的图像满足特定的尺寸要求至关重要。本文探讨了图像尺寸验证过程中面临的常见问题:检索所选图像的宽度和高度。

问题

以下 Javascript 函数,旨在检查文件类型和大小,无法检索图像尺寸:

<code class="javascript">function checkPhoto(target) {
    if(target.files[0].type.indexOf("image") == -1) {
        // Code to handle file type
    }
    if(target.files[0].size > 102400) {
        // Code to handle image size
    }
    // No code yet for image width and height
}</code>

解决方案

要检索图像尺寸,我们需要从所选文件创建一个图像对象。这可以使用 URL.createObjectURL() 方法来实现:

<code class="javascript">var _URL = window.URL || window.webkitURL;
$(function() {
    $("#file").change(function (e) {
        var file, img;
        if ((file = this.files[0])) {
            img = new Image();
            var objectUrl = _URL.createObjectURL(file);
            img.onload = function () {
                console.log(this.width + " " + this.height);
                _URL.revokeObjectURL(objectUrl);
            };
            img.src = objectUrl;
        }
    });
});</code>

此代码片段创建一个 Image 对象并使用 img.src 加载所选文件。图片加载完成后,会执行回调函数 img.onload,我们可以在其中获取图片的宽度和高度。

兼容性说明

URL.createObjectURL( ) 方法并未得到跨浏览器的普遍支持。它主要在 Firefox 和 Chrome 中受支持。对于其他浏览器,可能需要替代方法来验证图像大小。

以上是如何在 JavaScript 中检索图像尺寸以进行上传验证?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn