如何从S3删除密钥中包含空格的文件

时间:2019-05-31 13:54:08

标签: java amazon-s3

我在S3存储桶上有一些文件,其中包含密钥空间。所有其他在键之间没有空格的文件都将被正确删除,但会留有空格,并引发错误“错误消息:我们计算出的请求签名与您提供的签名不匹配。请检查您的密钥和签名方法。(服务:Amazon S3;状态代码:403;错误代码:SignatureDoesNotMatch; ...”

这是实际的代码:

private void deleteFileAndFolder(String bucketName, String folderName, AmazonS3 client) {
        List<S3ObjectSummary> fileList = client.listObjects(bucketName, folderName).getObjectSummaries();
        for (S3ObjectSummary file : fileList) {            
            client.deleteObject(bucketName, file.getKey());
        }
        client.deleteObject(bucketName, folderName);
    }

试图从键中删除空间。

    String key=StringUtils.replace(file.getKey(), " ", "+");   
    LOGGER.debug("BucketName:{},fileKey: {}",bucketName,key);
    client.deleteObject(bucketName, key);

但它似乎无法正常工作。

0 个答案:

没有答案