簡體   English   中英

AWS S3 預簽名 URL 文件上傳 - 在存儲桶中保留文件名

[英]AWS S3 Presigned URL file upload - Retain file name in bucket

我正在嘗試使用如下所示的預簽名 PUT URL 將文件上傳到 S3 存儲桶

String tempFileKey = UUID.randomUUID().toString();
    GeneratePresignedUrlRequest generatePresignedUrlRequest =
                    new GeneratePresignedUrlRequest(tempBucketName, tempFileKey)
                            .withMethod(HttpMethod.PUT)
                            .withExpiration(expiration);
    URL fileUrl = s3Client.generatePresignedUrl(generatePresignedUrlRequest);

上述方法的問題是,如果用戶上傳名為“xyz.jpg”的文件,我無法在 s3 存儲桶中保留文件名(或擴展名)。 該文件以 tempFileKey 作為名稱保存。 創建預簽名 url 時,我不會知道文件名或擴展名。

我嘗試使用 ${filename} 作為 tempFilekey,如將文件直接從瀏覽器發送到 S3 但更改文件名中的建議,但它只是以 ${filename} 名稱保存(字面意思)

對象密鑰是預簽名 url 的組成部分,並且是生成 url 的算法所必需的:

因此,您無法更改密鑰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM