jquery-plugins - jQuery 文件上传不再调整图像大小

标签 jquery-plugins file-upload image-resizing

三个月以来,我在我的项目中使用 jQuery 文件上传来上传和调整图像文件的大小。一切正常,直到上周。该插件不再调整图像大小(最新的谷歌浏览器和最新的火狐)。

我在此页面上使用相同的基本配置 https://github.com/blueimp/jQuery-File-Upload/wiki/Basic-plugin

有没有人有同样的问题,也许有解决方案?

谢谢

最佳答案

我无法让客户端图像大小调整工作,我发现这是因为我已经覆盖了 add 方法并且没有包含在原始方法中进行图像大小调整的代码。我会发布我的解决方案,希望它能帮助人们避免一些挫折。

<form action="/path/to/uploadHandler" id="multiple-image-upload" enctype="multipart/form-data" method="post" accept-charset="utf-8">
    <input name="files" multiple="multiple" id="files" type="file">
</form>

<div id="file-upload-progress">
    <div id="upload-progress">
        <div class="bar" style="width: 0%;"></div>
    </div>
</div>

<script type="text/javascript">
$(function () {
    $('#multiple-image-upload').fileupload({
        dataType: 'json',
        // Enable image resizing, except for Android and Opera,
        // which actually support image resizing, but fail to
        // send Blob objects via XHR requests:
        disableImageResize: /Android(?!.*Chrome)|Opera/
            .test(window.navigator.userAgent),
        process:[
            {
                action: 'load',
                fileTypes: /^image\/(gif|jpeg|png)$/,
                maxFileSize: 20000000 // 20MB
            },
            {
                action: 'resize',
                maxWidth: 1920,
                maxHeight: 1200,
                minWidth: 800,
                minHeight: 600
            },
            {
                action: 'save'
            }
        ],
        add: function (e, data) {
            data.context = $('<p/>').text('Uploading '+data.files[0].name+'...').appendTo("#file-upload-progress");
            var $this = $(this);
            data.process(function () {
                return $this.fileupload('process', data);
            }).done(function() {
                data.submit();
            });
        },
        done: function (e, data) {
            data.context.html('<img src="'+data.result.files[0].thumbnailUrl+'" alt="'+data.result.files[0].name+'" />');
        },
        progressall: function (e, data) {
            var progress = parseInt(data.loaded / data.total * 100, 10);
            $('#upload-progress .bar').css(
                'width',
                progress + '%'
            ).text(
                progress + '%'
            );
        }
    });
})();

关于jquery-plugins - jQuery 文件上传不再调整图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10375081/

相关文章:

php - 如何在 PHP 中调试 move_uploaded_file()

javascript - restify 是否支持服务端上传图片?

html - 为什么使用 CSS 调整 SVG 图像大小会变得难看(Chrome、Firefox 测试)

php - PHP(或ImageMagick)中是否有调整图像大小以达到最佳覆盖的功能?

jquery - 我将使用什么 jquery 代码或插件来更新元素的位置?

jquery - 如何在 jquery UI 工具提示中添加右(水平)箭头?

jquery - jquery 的消息队列

javascript - 如何使用 javascript 解析带有数组的外部 JSON 文件

javascript - Ember 中组件之间的通信

html - Bootstrap 3 'img-responsive' 类不那么敏感