Uygulamamla dosyaları S3'e başarıyla yüklüyorum. Sunucumun aws-sdk v3 kullanarak benim için oluşturduğu bir signedUrl kullanarak tarayıcıdan doğrudan yükleme yapıyorum.
Singed URL'yi almak için biraz şuna benziyor
const s3Params = {
Bucket : bucketName,
Key : fileName,
ContentType:fileType,
// Metadata:{'Content-Disposition':'attachment'}
// ContentDisposition:'attachment'
};
try {
const command = new PutObjectCommand(s3Params);
const url = await getSignedUrl(s3v3,command,{expiresIn:60});
return url;
} catch (e) {
console.log('************** there was an error signing th url');
console.log(e);
throw e;
}
};
Bu gayet iyi çalışıyor, ancak dokümantasyonun bir kısmını okuduğumda başlık içeriğini ayarlayabilmem gerektiğini gördüm. Bu belgelerde, PutObjectCommand girdisinin putobjectrequest'ten uzandığını söylüyor
İkincisi, isteğe bağlı bir parametreye sahiptir ContentDisposition
bunu ek olarak ayarlamak istediğim gibi, kullanıcılarım için bir "indirme" penceresi istememe izin vermek için. Ancak, signedurl'yi yukarıdaki gibi kullandığımda ancak eklediğimde ContentDisposition:'attachment'
alan Yasak bir Hata alıyorum.
Burada bir şey kaçırıp kaçırmadığımı bilen var mı? bu gerçek bir seçenek değil mi yoksa bunun için S3 izinlerimdeki bir şeyi değiştirmem gerekiyor mu?