从 Strapi 上传 API 将裁剪和调整大小参数传递到 Cloudinary

问题描述 投票:0回答:1

我有以下plugin.js 文件,可以成功连接到 Strapi 并上传到 Cloudinary:

module.exports = ({ env }) => ({
    upload: {
        config: {
            provider: 'cloudinary',
            providerOptions: {
                cloud_name: env('CLOUDINARY_NAME'),
                api_key: env('CLOUDINARY_KEY'),
                api_secret: env('CLOUDINARY_SECRET'),
            },
            actionOptions: {
                upload: {},
                uploadStream: {
                    folder: env("CLOUDINARY_FOLDER"),
                },
                delete: {},
            },
        },
    },
});

但是,在了解了 Cloudinary 根据参数裁剪/调整图像大小的能力后,我很想将它们包括在内,这样我就可以获得我需要的图像类型。文档几乎不存在,因此我们将不胜感激!

https://cloudinary.com/documentation/resizing_and_cropping

next.js strapi cloudinary
1个回答
0
投票

您需要查看上传 api 参考,其中包含

transformation
字符串选项

看这里 https://cloudinary.com/documentation/image_upload_api_reference#upload_optional_parameters:~:text=transformations%20is%20completed.-,转换,转换%20parameters%20can%20be%20specified%20directly%20without%20using%20this%20transformation%20parameter .,-格式

所以

module.exports = ({ env }) => ({
    upload: {
        config: {
            provider: 'cloudinary',
            providerOptions: {
                cloud_name: env('CLOUDINARY_NAME'),
                api_key: env('CLOUDINARY_KEY'),
                api_secret: env('CLOUDINARY_SECRET'),
            },
            actionOptions: {
                upload: {},
                uploadStream: {
                    folder: env("CLOUDINARY_FOLDER"),
                },
                 transformations : {'w_400,q_auto'}
                delete: {},
            },
        },
    },
});

请注意,这意味着所有这些都在上传到云端之前使用某些参数进行了预处理。这可能是一种反模式,因为您理想情况下希望在云中使用全尺寸、高质量的格式,然后您可以将其与转换参数一起使用以根据上下文进行检索。

© www.soinside.com 2019 - 2024. All rights reserved.