Am încărca fișiere la S3 cu succes cu cererea mea. Eu nu o incarca direct din browser folosind un signedUrl meu server generează pentru mine folosind aws sdk-v3.
Pentru a obține ars URL-ul arată cam așa
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;
}
};
Acest lucru este perfect în regulă, dar atunci când am citit un pic de documentare am văzut că ar trebui să fie în măsură să setați antetul ContentDisposition. În acest document se spune că de intrare de PutObjectCommand se extinde de la PutObjectRequest
Acesta din urmă are un parametru opțional numit ContentDisposition
cât mi-aș dori să setați aceasta la atașament, pentru a-mi permite să solicite o "descărcare" fereastra pentru utilizatorii mei. Cu toate acestea, atunci când folosesc signedURL ca mai sus, dar se adauga ContentDisposition:'attachment'
domeniul primesc un Interzis de Eroare.
Stie cineva daca im-i lipsește nimic aici? nu este aceasta o optiune sau nu am nevoie de a modifica ceva în permisiunile de S3 pentru asta?