Todos os produtos
Search
Central de documentação

Object Storage Service:FAQ (Node.js SDK)

Última atualização: Jul 03, 2026

Este tópico responde às perguntas mais frequentes sobre o uso do OSS SDK for Node.js.

O que fazer se a mensagem de erro "The region must be conform to the specifications" for retornada?

Esse erro ocorre porque o parâmetro Region é inválido. Verifique se o valor desse parâmetro é válido. Para obter mais informações sobre os IDs de região, consulte Regiões e endpoints.

Como ativar o acesso HTTPS?

Para ativar o acesso HTTPS, defina secure como true ao inicializar o OSS SDK for Node.js.

Como obter o progresso do upload?

Use o parâmetro progress para obter o progresso durante um upload multipartido (Node.js SDK).

Como obter o progresso do download?

Calcule o progresso no OSS SDK for Node.js com base no tamanho do tráfego de download.

Como fazer upload de imagens codificadas em Base64?

Converta as imagens em objetos File e faça o upload para o servidor OSS chamando a operação de API correspondente.

 function dataURLtoFile(dataurl, filename) {
    let arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
      bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
    while(n--){
      u8arr[n] = bstr.charCodeAt(n);
    }
    return new File([u8arr], filename, {type:mime});
  }

  let file = dataURLtoFile('base64 content', '');

  client.multipartUpload('oss file name', file).then( (res)=> {
    console.log(res)
  }).catch((err) => {
    console.log(err)
  });
            

Como fazer upload de um objeto para um diretório específico?

Adicione o prefixo do diretório ao nome do objeto a ser enviado. Para obter mais informações, consulte Comparação entre OSS e sistemas de arquivos.

const OSS = require("ali-oss");
const client = new OSS({
  // Specify the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set the region to oss-cn-hangzhou.
  region: 'yourregion',
  // Obtain access credentials from environment variables. Before you run this sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  // Specify the bucket name.
  bucket: 'yourbucketname'
});

client
  .multipartUpload("base-dir/" + "object-name", "local-file", {
    progress: async function (p) {
      console.log("Progress: " + p);
    },
  })
  .then((result) => {
    console.log(result);
  })
  .then((res) => {
    console.log(res);
  })
  .catch((err) => {
    console.log(err);
  });

Como gerar uma URL assinada para fazer upload de um objeto?

Se você usar o método PUT para fazer upload de um objeto, gere uma URL assinada. Para obter mais informações, consulte Usar uma URL assinada para autorização de acesso temporário.

O upload de objetos pelo método POST não oferece suporte a URLs assinadas. Construa uma solicitação POST para fazer upload dos objetos. Ao construir essa solicitação, configure os parâmetros Key, OSSAccessKeyId, policy e Signature na ordem especificada na operação de API. Para obter mais informações sobre a operação, consulte PostObject.

Como obter a URL assinada de um objeto?

Chame o método signatureUrl para obter a URL de download. Para obter mais informações, consulte o exemplo no GitHub.

Erro ao baixar um objeto maior que 1 GB: Response timeout for 60000ms, please increase the timeout or use multipartDownload.

O tempo limite para tarefas de download no OSS SDK for Node.js é de 60000 ms. Se ocorrer um erro de tempo limite ao baixar um objeto maior que 1 GB, use o download por streaming para baixar o objeto em incrementos e aumente adequadamente o tempo limite. Para obter mais informações sobre o download por streaming, consulte Download por streaming (Node.js SDK). Para obter mais informações sobre o parâmetro de tempo limite, consulte Parâmetros.