OSS不支持直接对文件(Object)进行重命名。如果您需要在同一个Bucket内对Object进行重命名,您可以通过CopyObject接口将源Object拷贝至目标Object,然后通过DeleteObject接口删除源Object。

示例代码

以下代码用于将examplebucket下的srcobject.txt重命名为destobject.txt。

const OSS = require('ali-oss');
const client = new OSS({

  // yourregion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
  region: 'oss-cn-hangzhou',
  // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
  accessKeyId: 'yourAccessKeyId',
  accessKeySecret: 'yourAccessKeySecret',
  // 填写Bucket名称。
  bucket: 'examplebucket',
})
// 将srcobject.txt拷贝至同一Bucket下的destobject.txt。
client.copy('destobject.txt', 'srcobject.txt')
  .then(r => {
    console.log('拷贝成功', r);
    client
      // 删除srcobject.txt。
      .delete('srcobject.txt')
      .then(r => console.log(r))
      .catch(e => console.log(e));
  })
  .catch(e => console.log(e));
说明 OSS也不支持直接对目录进行重命名。如果需要重命名目录,您可以参考以上示例对该目录下的子目录和Object逐个进行重命名操作。

相关文档

关于重命名文件涉及的API接口说明,请分别参见CopyObjectDeleteObject