精细上传器 - 使用autoUpload组合缩放图像:false并且自定义文件名不起作用

时间:2014-09-19 10:41:30

标签: scaling fine-uploader

我使用精细上传器5.0.6将图片上传到我的amazon s3帐户,我在其中设置了以下选项:

autoUpload: false
validation: max 10mb, min 400kb
custom filename

如下:

var manualuploader = jQuery("#fine-uploader").fineUploaderS3({
    ...,
    autoUpload: false,
    validation: {
        allowedExtensions: ['jpeg', 'jpg', 'png'],
        sizeLimit: 10000000, // 10mb
        minSizeLimit: 400000 // 400kb
    },
    objectProperties: {
        key: function (fileId) {
            var filename = jQuery('#fine-uploader').fineUploader('getName', fileId);
            var uuid = jQuery('#fine-uploader').fineUploader('getUuid', fileId);
            var ext = filename.substr(filename.lastIndexOf('.') + 1);
            design_name = design_name.replace(/[^a-z0-9\s]/gi, '');
            folder_name = design_name.replace(/\s/g, '-');
            return artist + '/' + folder_name + '/original.' + ext;
        }
    }
    ...
});

jQuery('#triggerUpload').click(function() {
    manualuploader.fineUploaderS3('uploadStoredFiles');
});

这是按预期工作的,但现在我需要包含一个500px缩放的图像,同时上传到s3。我知道我可以使用scaling对象执行此操作,但它不能与我的代码一起使用。尝试了几种方法后,我似乎已经解决了这些问题:

当我在以下内容中添加以下内容时:

    scaling: {
        sizes: [
            {name: "web", maxSize: 500}
        ]
    }

只有原始/主文件上传到s3服务器,而不是两者都按预期上传。如果我使用sendOriginal: false,那么'网络'版本确实被发送到服务器。

此外,我更改了objectProperties{key中的文件名,使其成为

artist/folder/original.ext

我还需要能够让较小的网络版本遵循相同的结构,所以它是:

artist/folder/web.ext

这可能吗?

1 个答案:

答案 0 :(得分:0)

我无法通过缩放或验证重现您报告的问题。您可以通过objectProperties.key选项更改文件的密钥名称,就像您现在所做的那样。您应该能够查看文件的原始名称,以确定它是原始版本还是缩放版本。