Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:FAQ (Node.js SDK)

Son Güncelleme:Oct 01, 2026

Bu konuda, OSS Node.js SDK'yı kullanırken sıkça sorulan bazı soruların yanıtları yer almaktadır.

"The region must be conform to the specifications" hata iletisi alınırsa ne yapmalıyım?

Bu hata, Region parametresi geçersiz olduğunda oluşur. Region parametresinin değerinin geçerli olup olmadığını kontrol edin. Bölge kimlikleri hakkında daha fazla bilgi için bkz. Bölgeler ve uç noktalar.

HTTPS erişimini nasıl etkinleştiririm?

HTTPS erişimini etkinleştirmek için OSS Node.js SDK'yı başlatırken secure değerini true olarak ayarlayın.

Yükleme ilerlemesini nasıl elde ederim?

Parçalı yükleme (Node.js SDK) sırasında yükleme ilerlemesini almak için progress parametresini kullanabilirsiniz.

İndirme ilerlemesini nasıl elde ederim?

OSS Node.js SDK'da indirme trafiğinin boyutuna göre ilerlemeyi hesaplayabilirsiniz.

Base64 kodlu görüntüleri nasıl yüklerim?

Görüntüleri File nesnelerine dönüştürün ve ilgili API işlemini çağırarak bunları OSS sunucusuna yükleyin.

 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)
  });
            

Bir nesneyi belirtilen bir dizine nasıl yüklerim?

Yüklemek istediğiniz nesnenin adının önüne yalnızca dizin önekini eklemeniz yeterlidir. Daha fazla bilgi için bkz. OSS ile dosya sistemleri arasındaki farklar.

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);
  });

Bir nesne yüklemek için imzalı bir URL'yi nasıl oluştururum?

Nesne yüklemek için PUT yöntemini kullanıyorsanız imzalı bir URL oluşturmanız gerekir. Daha fazla bilgi için bkz. Geçici erişim yetkilendirmesi için imzalı URL kullanma.

POST yöntemi kullanılarak yapılan nesne yüklemeleri için imzalı URL'ler desteklenmez. Nesneleri yüklemek üzere bir POST isteği oluşturabilirsiniz. POST isteğini oluştururken Key, OSSAccessKeyId, policy ve Signature parametrelerini API işleminde belirtilen sırayla yapılandırmanız gerekir. İşlem hakkında daha fazla bilgi için bkz. PostObject.

Bir nesnenin imzalı URL'sini nasıl elde ederim?

İndirme URL'sini almak için signatureUrl yöntemini çağırabilirsiniz. Daha fazla bilgi için bkz. GitHub örneği.

1 GB'tan büyük bir nesne indirilirken alınan hata: Response timeout for 60000ms, please increase the timeout or use multipartDownload.

OSS Node.js SDK'nın indirme görevleri için belirlediği zaman aşımı süresi 60000 ms'dir. 1 GB'tan büyük bir nesne indirirken zaman aşımı hatası alırsanız nesneyi parçalar halinde indirmek için akışlı indirme yöntemini kullanın ve zaman aşımı süresini uygun şekilde uzatın. Akışlı indirme hakkında daha fazla bilgi için bkz. Akışlı indirme (Node.js SDK). Zaman aşımı parametresi hakkında daha fazla bilgi için bkz. Parametreler.