Używam Java Amazon SDK do pracy z S3 do przechowywania przesłanych plików. Chciałbym zachować oryginalną nazwę pliku i umieszczam ją na końcu klucza, ale używam również struktury katalogów wirtualnych - coś takiego jak <dirname>/<uuid>/<originalFilename>
.Amazon S3 Presigned URLs uciekają z ukośników w kluczu
Problem polega na tym, że gdy chcę, aby wygenerować presigned URL do pobierania za pomocą interfejsu API jak:
URL url = s3Client.generatePresignedUrl(generatePresignedUrlRequest);
return url.toExternalForm();
SDK url ucieka cały klucz, łącznie z ukośniki. Chociaż nadal działa, oznacza to, że nazwa pobieranego pliku zawiera cały klucz, a nie tylko oryginalny bit nazwy pliku na końcu. Wiem, że powinno być możliwe to zrobić bez ucieczki z ukośników, ale staram się uniknąć przepisywania dużej ilości kodu już w SDK. Czy istnieje powszechne rozwiązanie tego problemu? Wiem, że korzystałem z aplikacji internetowych, które mają ten sam wzór i nie mają problemu z ucieczką.
Jeśli w zasobniku znajduje się lista ACL zezwalająca na dostęp anonimowy, można pobrać plik według następującego wzoru: //s3.amazonaws.com//. Czy tego właśnie szukasz? –
@JasonSperske Jest w prywatnym wiaderku. –