Не удалось скопировать файл в другое ведро с ошибкой (NoSuchKey: указанный ключ не существует.) - PullRequest
0 голосов
/ 13 июня 2018

В моем ключе есть пробел (тест 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 голосов
/ 13 июня 2018

Проблема в том, что ключ должен быть закодирован в URL.

Как видно из этого вопроса, есть несколько вариантов, чтобы обойти его, если у вас есть пробел вваш ключ.

Опция, которая работала для ОП в этом вопросе, заключалась в использовании encodeURIComponent(file.name).

0 голосов
/ 13 июня 2018

Попробуйте заменить пробел знаком +.Например,

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

Если это не сработает, попробуйте заменить пробел либо на «% 20», либо на «% 2B».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...