Ja z powodzeniem pobierania plików w S3 za pomocą swojej aplikacji. Wykonuję bezpośrednie pobieranie z przeglądarki za pomocą podpisany plik, który mój serwer generuje dla mnie za pomocą aws-sdk v3.
Aby uzyskać опаленный adres URL, wygląda mniej więcej tak
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;
}
};
To działa dobrze, ale potem, kiedy przeczytałem trochę dokumentacji, zobaczyłem, że powinien mieć możliwość ustawić położenie zawartości nagłówka. W tej dokumentacji jest napisane, że wprowadzanie polecenia PutObjectCommand rozpoczyna się od zapytania PutObjectRequest
Ten ostatni ma opcjonalny parametr, zwany ContentDisposition
ponieważ chciałbym zamontować do tego wartość "załącznik", aby pozwól mi zażądać okno "pobieranie" dla moich użytkowników. Jednak, gdy używam signedURL, jak wyżej, ale dodaję ContentDisposition:'attachment'
pole dostaję zakazanej błąd.
Wie ktoś nie opuszczę czy ja tu czegoś? to nie żart, czy muszę coś zmienić w swoich rozwiązaniach na S3 do tego?