蓝色imp文件上传客户端大小图像调整大小和裁剪

时间:2014-10-01 18:34:09

标签: jquery jquery-file-upload blueimp

我正在使用这个jquery图片上传插件 https://github.com/blueimp/jQuery-File-Upload

我需要的是调整大小/裁剪客户端大小的图像,因此它将具有精确的高度和宽度,然后上传到服务器。

这是上传脚本的一部分,它工作正常,唯一的问题是,它只是调整图像大小而不裁剪,我最终得到上传的图像,例如宽度150像素和高度说133像素(虽然初始图片的高度和宽度超过1000像素,我想要精确的高度和宽度 - 150像素)。从选项列表中我认为imageCrop应该做的是https://github.com/blueimp/jQuery-File-Upload/wiki/Options#imagecrop,但事实并非如此。我做错了什么,或者插件不支持我需要的功能?如果是这样,有什么方法可以使用这个插件使用一些外部库/函数来实现我需要的东西吗?

由于

修改

我也尝试了这个选项

 canvas: true,
 cover: true,
 crop: true,
 thumbnail: true,
 aspectRatio: '1/1'

但无济于事

$('#fileupload').fileupload({
    url: 'test.php'
     dataType: 'json',
     imageCrop: true,
     process: [
         {
             action: 'load',
             fileTypes: /^image\/(gif|jpeg|png)$/,
             maxFileSize: 20000000 // 20MB
         },
         {
             action: 'resize',
             maxWidth: 150,
             maxHeight: 150,
             minWidth: 150,
             minHeight: 150,
             imageCrop: true
         },
         {
             action: 'save'
         },
         {action: 'duplicateImage'},
         {
             action: 'resize',
             maxWidth: 100,
             maxHeight: 100,
             minWidth: 100,
             minHeight: 100,
             imageCrop: true
         },
         {
             action: 'save'
         }
     ], ...

1 个答案:

答案 0 :(得分:1)

按照“blueimp”手册进行Client side Image Resizing您必须将选项disableImageResize设为false

$('#fileupload').fileupload({
    url: 'test.php',
    dataType: 'json',
    disableImageResize: false,
    imageMaxWidth: 800,
    imageMaxHeight: 800,
    imageCrop: true
})

Reference to src.