Todos os produtos
Search
Central de documentação

Object Storage Service:Manage folders (Browser.js SDK)

Última atualização: Sep 24, 2026

O OSS simula uma estrutura de pastas por meio de diretórios, facilitando a organização, a localização e a execução de operações em lote sobre grandes volumes de objetos.

Observações de uso

  • Ao usar ferramentas de empacotamento como Webpack e Browserify, instale o OSS SDK for Browser.js executando o comando npm install ali-oss.

  • Se você quiser acessar um bucket do OSS a partir de um navegador, mas nenhuma regra de CORS estiver configurada para o bucket, o navegador rejeitará a requisição. Portanto, é necessário configurar regras de CORS para o bucket se você quiser acessá-lo a partir de um navegador. Para obter mais informações, consulte Installation.

  • Na maioria dos casos, o OSS SDK for Browser.js é utilizado em navegadores. Para evitar a exposição do par de AccessKey, recomenda-se usar credenciais de acesso temporárias obtidas pelo Security Token Service (STS) para acessar o OSS.

    As credenciais de acesso temporárias consistem em um par de AccessKey e um token de segurança. O par de AccessKey é composto por um AccessKey ID e um AccessKey secret. Para obter mais informações sobre como obter credenciais de acesso temporárias, consulte Use STS for temporary access authorization.

Criar um diretório

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.18.0.min.js"></script>
  </head>
  <body>
    <script>
      const client = OSS({
        // Set yourRegion to the region where the bucket is located. For example, if the region is China (Hangzhou), set yourRegion to oss-cn-hangzhou.
        region: 'yourRegion',
        authorizationV4: true,
        // The temporary AccessKey pair (AccessKey ID and AccessKey secret) obtained from the STS service.
        accessKeyId: 'yourAccessKeyId',
        accessKeySecret: 'yourAccessKeySecret',
        // The security token (SecurityToken) obtained from the STS service.
        stsToken: 'yourSecurityToken',
        // Specify the bucket name.
        bucket: 'examplebucket'
      });
      // Specify the directory name. The directory name must end with a forward slash (/).
      client
        .put("log/", new Blob([]))
        .then((r) => {
          console.log(r);
        })
        .catch((e) => {
          console.log(e);
        });
    </script>
  </body>
</html>

Excluir um diretório

Para excluir um diretório e todos os seus objetos, especifique um Prefix. Por exemplo, para excluir o diretório log do bucket examplebucket, defina Prefix como log/.

Aviso

Excluir um diretório também remove todos os seus subdiretórios e objetos. Prossiga com cautela.

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.18.0.min.js"></script>
  </head>
  <body>
    <script>
      const client = new OSS({
        // Set yourRegion to the region where the bucket is located. For example, if the region is China (Hangzhou), set yourRegion to oss-cn-hangzhou.
        region: "yourRegion",
        authorizationV4: true,
        // The temporary AccessKey ID and AccessKey secret obtained from the STS service.
        accessKeyId: "yourAccessKeyId",
        accessKeySecret: "yourAccessKeySecret",
        // The security token obtained from the STS service.
        stsToken: 'yourSecurityToken',
        // Specify the bucket name. For example, examplebucket.
        bucket: "examplebucket",
      });

      // Handle request failures. This prevents promise.all from being interrupted and returns the failure reason and the name of the failed file.
      async function handleDel(name, options) {
        try {
          await client.delete(name);
        } catch (error) {
          error.failObjectName = name;
          return error;
        }
      }

      // Delete multiple files.
      async function deletePrefix(prefix) {
        const list = await client.list({
          prefix: prefix,
        });

        list.objects = list.objects || [];
        const result = await Promise.all(
          list.objects.map((v) => handleDel(v.name))
        );
        console.log(result);
      }
      // Delete a directory and all files in the directory.
      deletePrefix("log/");
    </script>
  </body>
</html>

Referências

  • Para obter mais informações sobre as operações de API disponíveis para criar um diretório, consulte PutObject e CreateDirectory.

  • Para obter mais informações sobre a operação de API utilizada para excluir pastas e todos os seus arquivos, consulte DeleteObject.