javascript – 无法获取图像调整大小以使用jQuery文件上传

前端之家收集整理的这篇文章主要介绍了javascript – 无法获取图像调整大小以使用jQuery文件上传前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图利用由blueimp: https://github.com/blueimp/jQuery-File-Upload开发的jQuery文件上传插件中可用的客户端图像调整大小

不幸的是,我无法使图像大小调整工作.上传本身工作完美.

this.$('.fileupload').fileupload({
    url: websiteUrl + 'deed/uploadimage',dataType: 'json',previewMaxWidth: 90,previewMaxHeight: 90,previewCrop: true,imageOrientation: true,disableImageResize: false,add: function($,data) {
        _.each(data.files,function(file){
            file.model = self.addImagePreview();
        });
        _.defer(_.bind(data.submit,data));
    },done: function($,data) {
        // Quirky shit. Iterate over data.files array while we know that
        // only one file are uploaded at a time...
        _.each(data.files,function(file){
            file.model.set({
                "uploading": false,"src": data.response().result.image,"preview": data.response().result.cropped
            });
        });
    }
});

我已经尝试在resizeImage方法中放置一个断点,看看是否因为某种原因而破坏了一个条件,但该方法从未被调用.

所有依赖关系都按照以下顺序加载:

load-image.min.js
canvas-to-blob.js
jquery.ui.widget.js
jquery.fileupload.js
jquery.fileupload-process.js
jquery.fileupload-image.js
jquery.iframe-transport.js

我在这里遗漏了什么吗?

解决方法

找到解决方案.

显示当使用fileupload-process扩展名时,指定add函数会覆盖fileupload-process ext的功能.它调用processQueue,这是注册图像大小和更多的位置.

解决方案是将事件侦听器附加到fileuploadadd而不是覆盖add函数

$('.fileupload').fileupload({ ... }).bind('fileuploadadd',callback)

或者,从您自己的add方法调用原始的add方法

$('.fileupload').fileupload({
    add: function(e,data) {
        $.blueimp.fileupload.prototype.options.add.call(this,e,data);
    }
});

猜你在找的jQuery相关文章