blueimp jquery文件上传器image_versions不起作用

时间:2015-01-15 16:19:46

标签: jquery image blueimp uploader

我有blueimp jquery文件uploade。我试图制作更多的image_versions。 第一个和最后一个image_version确实有效。在我的情况下'','小'和'缩略图'起作用,另一个不起作用。 在另一个image_versions,图像将是uploadet但未调整到合适的大小。

这是我的代码片段:

'image_versions' => array(
            // The empty image version key defines options for the original image:
            '' => array(
                // Automatically rotate images based on EXIF meta data:
                'auto_orient' => true
            ),
            'small' => array(
                'max_width' => 150,
                'max_height' => 150
            ),

            'medium' => array(
                'max_width' => 200,
                'max_height' => 200
            ),

            'large' => array(
                'max_width' => 400,
                'max_height' => 400
            ),

            'xlarge' => array(
                'max_width' => 600,
                'max_height' => 600
            ),

            'square' => array(
                'crop' => true,
                'max_width' => 300,
                'max_height' => 300
            ),

            'thumbnail' => array(
                'max_width' => 100,
                'max_height' => 100
            )
        )

1 个答案:

答案 0 :(得分:3)

我刚刚遇到了同样的问题。在挖掘代码后,我发现当它循环遍历图像版本时,会将生成的图像对象保存在缓存中。因此,小'已处理...生成的图像对象(150 x 150)的缓存版本被称为文件。

因此,简单地将源文件复制到中,大,xlarge和方形,因为代码认为图像是150 x 150.但是缩略图的处理是因为它小于150 x 150。 / p>

要解决此问题,您可以在图片版本中添加no_cache选项 - 这会降低代码效率,但会解决您(和我)的问题。

所以你的代码看起来像这样:

'image_versions' => array(
    // The empty image version key defines options for the original image:
    '' => array(
        // Automatically rotate images based on EXIF meta data:
        'auto_orient' => true
    ),
    'small' => array(
        'max_width' => 150,
        'max_height' => 150,
        'no_cache' => true
    ),

    'medium' => array(
        'max_width' => 200,
        'max_height' => 200,
        'no_cache' => true
    ),

    'large' => array(
        'max_width' => 400,
        'max_height' => 400,
        'no_cache' => true
    ),

    'xlarge' => array(
        'max_width' => 600,
        'max_height' => 600,
        'no_cache' => true
    ),

    'square' => array(
        'crop' => true,
        'max_width' => 300,
        'max_height' => 300,
        'no_cache' => true
    ),

    'thumbnail' => array(
        'max_width' => 100,
        'max_height' => 100,
        'no_cache' => true
    )
)