无法将文件复制到另一个显示错误的存储桶(NoSuchKey:指定的密钥不存在。)

时间:2018-06-13 08:13:05

标签: javascript node.js amazon-s3

我的钥匙中有空间(测试12/3 / 2017.csv)但是没有空间是关键正常工作。我正在使用aws javascript sdk。

var params = {
        Bucket: bucketname, 
        CopySource: `/bucketname/test 12/3/2017.csv`, 
        Key: `test 12/3/2017.csv`
    };

s3bucket.copyObject(params, function(err, data) {
            if (err){
                console.log(err, err.stack); 
                debugger
            } else {
                console.log(data); 
                debugger
            }             
        });

2 个答案:

答案 0 :(得分:1)

问题是密钥需要进行URL编码。

this问题中可以看出,如果您的密钥中有空格,可以使用多种方法解决此问题。

在此问题中为OP工作的选项是使用encodeURIComponent(file.name)

答案 1 :(得分:0)

尝试用+号替换空格。 例如。

CopySource: `/bucketname/test+12/3/2017.csv`

如果这不起作用,请尝试使用'%20'替换空格。或者'%2B'。