javascript - 如何在 Javascript 中获取表单字段 (formData) 的图像大小

标签 javascript validation file-upload multipartform-data form-data

知道如何在验证 JavaScript 函数中获取图像的大小(以字节为单位),以便提示用户选择有效的图像大小。我已经看到其他答案以表单逻辑的方式处理这个问题,但我想知道是否可以在验证 javascript 函数中获取大小。谢谢

这是我的表单相关代码:

<form action="index.php" method="post" enctype="multipart/form-data" onsubmit="return validateForm(this)">
    <script>
        function validateForm(form) {
            var image_name = form.image.value;
            if (image_name == null || image_name == "") {
                alert('Select an image');
                return false;
            } else return true;
        }
    </script>
    <label> Image (300 KB max.) <input type="file" name="image" /> </label>
    <input type="submit" value="Submit" name="submit" />
</form>

最佳答案

HTML5 文件 API 支持文件大小检查。 http://www.html5rocks.com/en/tutorials/file/dndfiles/

    <input type="file" id="image" />

    var size = document.getElementById("image").files[0].size;

or  
     var size = document.getElementsByName("image")[0].files[0].size; // edit added

但最好也对文件大小进行服务器端验证。

注意:这不适用于较旧的浏览器

另请检查这个问题:
Detecting file upload size on the client side?
Stopping the upload process if the upload limit I chose is exceeded

fiddle http://jsfiddle.net/wKvf8/

关于javascript - 如何在 Javascript 中获取表单字段 (formData) 的图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16743941/

相关文章:

javascript - 在 Lerna 单体仓库中使用助手

javascript onclick 函数不起作用?

在新的 api 中不推荐使用 HttpConnectionParams 的 Android 多部分图像上传

javascript - Node JS 如何从客户端获取上传的文件?

javascript - js2xmlparser 自定义 XML 正文

javascript - Highcharts 极坐标 : series appear over others when toggle to visible

java - 使用 JSR-303 验证表单时使用 I18n 消息

javascript - 如何防止用户使用 JavaScript 和 JQuery 键入超过 2 位数字

regex - 如何使用正则表达式验证电话号码

php表单为特定名称上传多个图像