Я использую SDK Java Amazon для работы с S3 для хранения загруженных файлов. Я хотел бы сохранить исходное имя файла, и я помещаю его в конец ключа, но я также использую структуру виртуального каталога - что-то вроде <dirname>/<uuid>/<originalFilename>
.Amazon S3 Собственные URL-адреса, удаляющие косые черты в ключе
Проблема заключается в том, что, когда я хочу, чтобы создать presigned URL для загрузки с помощью API, как:
URL url = s3Client.generatePresignedUrl(generatePresignedUrlRequest);
return url.toExternalForm();
В SDK URL ускользает весь ключ, в том числе косой черты. Хотя он все еще работает, это означает, что имя загруженного файла включает в себя весь ключ, а не только оригинальный бит имени файла в конце. Я знаю, что это должно быть возможно сделать, не ускользая от косых черт, но я стараюсь не переписывать много кода уже в SDK. Есть ли общее решение для этого? Я знаю, что я использовал веб-приложения, которые следуют одному и тому же шаблону и не имеют проблемы слэш-сбой.
Если у ведра есть ACL, который разрешает анонимный доступ, вы можете получить файл по следующему шаблону: //s3.amazonaws.com//<полное имя ключа с косой чертой>. Это то, что вы так же ищете? –
@JasonSperske Он находится в частном ведре. –