Javascript 有没有一种方法可以自动;附加“;s3中已经存在的文件名的字符串?

Javascript 有没有一种方法可以自动;附加“;s3中已经存在的文件名的字符串?,javascript,amazon-s3,digital-ocean,Javascript,Amazon S3,Digital Ocean,我正在使用DigitalOcean存储用户上传的文件。我的上传功能如下所示: static uploadFileToRemoteStorage(data, config) { return new Promise((resolve, reject) => { const params = { ACL: 'public-read', Bucket: 'some-bucket', // pa

我正在使用DigitalOcean存储用户上传的文件。我的上传功能如下所示:

static uploadFileToRemoteStorage(data, config) {
        return new Promise((resolve, reject) => {
            const params = {
                ACL: 'public-read',
                Bucket: 'some-bucket', // pass your bucket name
                Key: process.env.ROOT_DOMAIN + '/' + config.name, 
                Body: data,
                ContentType: config.mimetype
            };
            s3.upload(params, function (s3Err, data) {
                if (s3Err) {
                    reject(s3Err)
                }
                console.log('data.location', data.Location)
                resolve({
                    url: data.Location
                })

            });
        })
    }
我想知道,如何在已经存在的文件名(可能不是实际的文件名)上自动附加一些数字。例如,假设用户已经上传了一个名为“cat.jpg”的文件。具有相同名称的文件的附加上载应存储为cat(1).jpg


s3是否公开了这样一个选项?如果没有,您会推荐什么替代方法?

s3不会做这样的事情-它只会覆盖文件。因此,最好的办法是先获取与您的模式匹配的所有文件,然后计算出您应该使用的序列中的下一个数字。一种常见的技术是将文件上载到一个唯一的名称(),然后将该名称映射到数据库中的“友好”名称。例如,想象一下Dropbox中有多少同名文件。他们显然不以原始文件名存储文件。是的,这或多或少就是我所做的。