使用Jquery-File-Upload插件限制图像尺寸

时间:2015-12-08 14:23:52

标签: jquery file upload blueimp

我正在使用使用jQuery-File-Upload的wordpress主题,我需要在将图片文件上传到服务器之前限制其尺寸。有办法吗?我对jquery不是很有经验,我对此感到非常沮丧。 :(

2 个答案:

答案 0 :(得分:0)

为什么不重新调整图像大小,而不是在上传前限制图像文件尺寸?它是插件提供的一项功能。看看" jquery.fileupload-image.js"。

如果您想要限制大小,可以在下载后执行此操作。由于您可以设置这些限制的UploadHandler(.php),插件可以做到这一点。示例如下:

// Image resolution restrictions:
'max_width' => 800,
'max_height' => 600,
'min_width' => 1,
'min_height' => 1,

另一种解决方案是在"添加"中添加回调。这将触发一个功能,将检查图像wisth /高度。示例:How to Preview Image, get file size, image height and width before upload?

答案 1 :(得分:0)

I couldn't find any solutions provided for that, so I decided to use plugins callback to cancel upload using jquery with an optional warning.

var _URL = window.URL || window.webkitURL;
            $('#fileupload').bind('fileuploadadd', function (e, data) {
                var file, img;

                if ((file = data.files[0])) {
                    img = new Image();
                    img.onload = function() {
                        if(this.width !== 480 || this.height !== 70) {
                            $("#fileupload tr").filter(function(i) {  return $(this).find(".name").html() === file.name}).find("td:last-child .cancel").click();
                            alert("The dimensions of " + file.name + " is" + this.width + "x" + this.height +  "! Only 480x70 is allowed!");
                        }
                    };
                    img.onerror = function() {
                        alert( "not a valid file: " + file.type);
                    };
                    img.src = _URL.createObjectURL(file);
                }
            });