Ekleme yoluyla yükleme, AppendObject yöntemini kullanarak mevcut bir eklenebilir nesnenin sonuna içerik ekler.
Dikkat Edilecek Hususlar
Browser.js yazılım geliştirme kiti (SDK) ile ekleme yoluyla yükleme yapmak için paketinizin çapraz kaynak kurallarında
x-oss-next-append-positionbaşlığını açığa çıkarmalısınız. Aksi takdirde ekleme konumunextAppendPositionalınamaz ve yükleme başarısız olur. Daha fazla bilgi için bkz. Çapraz kaynak paylaşımını ayarlama.Bu konuda OSS uç noktası içeren bir OSSClient örneği oluşturma işlemi gösterilmektedir. Özel etki alanı kullanma veya Security Token Service (STS) kimlik bilgileriyle kimlik doğrulama gibi alternatif yapılandırmalar için bkz. Başlatma (Browser.js SDK).
Bu konuda OSS uç noktası içeren bir OSSClient örneği oluşturma işlemi gösterilmektedir. Özel etki alanı kullanma veya Security Token Service (STS) kimlik bilgileriyle kimlik doğrulama gibi alternatif yapılandırmalar için bkz. İstemci yapılandırması.
Nesne yoksa AppendObject işlemi yeni bir eklenebilir nesne oluşturur.
-
Nesne zaten varsa AppendObject işlemini çağırdığınızda aşağıdaki durumlar geçerlidir:
Nesne eklenebilir bir nesneyse ve belirtilen ekleme konumu nesnenin mevcut uzunluğuna eşitse içerik nesnenin sonuna eklenir.
Nesne eklenebilir bir nesneyse ancak belirtilen ekleme konumu nesnenin mevcut uzunluğuyla eşleşmiyorsa PositionNotEqualToLength özel durumu döndürülür.
Nesne basit yükleme ile yüklenen Normal bir nesne gibi eklenebilir bir nesne değilse ObjectNotAppendable özel durumu döndürülür.
İzinler
Varsayılan olarak Alibaba Cloud hesabının tam izinleri vardır. Bir Alibaba Cloud hesabına bağlı RAM kullanıcıları veya RAM rollerinin varsayılan olarak izni yoktur. Alibaba Cloud hesabı sahibi veya hesap yöneticisi işlem izinlerini RAM ilkeleri veya Paket İlkesi aracılığıyla vermelidir.
|
API |
Eylem |
Açıklama |
|
AppendObject |
|
Mevcut bir nesneye ekleyerek nesne yüklemek için bu işlemi çağırabilirsiniz. |
|
|
Mevcut bir nesneye ekleyerek nesne yüklerken x-oss-tagging aracılığıyla nesne etiketleri belirtiyorsanız bu izin gereklidir. |
Örnekler
Aşağıdaki kodda ekleme yoluyla yükleme işlemi gösterilmektedir:
<!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.17.1.min.js"></script>
</head>
<body>
<input type="file" id="file" />
<button id="upload">Upload</button>
<script>
const upload = document.getElementById("upload");
const client = new OSS({
// Set yourRegion to the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set yourRegion to oss-cn-hangzhou.
region: 'yourRegion',
authorizationV4: true,
// The temporary AccessKey pair (AccessKey ID and AccessKey secret) obtained from STS.
accessKeyId: 'yourAccessKeyId',
accessKeySecret: 'yourAccessKeySecret',
// The security token obtained from STS.
stsToken: 'yourSecurityToken',
// Specify the bucket name.
bucket: 'examplebucket'
});
upload.addEventListener("click", async () => {
const target = file.files[0];
// Specify the full path of the object. The full path cannot contain the bucket name. Example: examplefile.txt.
// The first append upload. The return value indicates the position for the next append operation.
const result = await client.append("examplefile.txt", target);
await client.append("123", result, {
// The second append upload. The position for subsequent append operations is the length of the object (Content-Length) before the append operation.
position: result.nextAppendPosition,
});
});
</script>
</body>
</html>
İlgili Başlıklar
Ekleme yoluyla yükleme için eksiksiz örnek kodu görmek üzere GitHub örneklerine bakın.
Ekleme yoluyla yükleme API işlemi hakkında daha fazla bilgi için bkz. AppendObject.