【发布时间】:2025-12-23 12:55:11
【问题描述】:
我试图生成一个预签名的 URL 链接以传递给客户端。只要文件不包含空格,我的逻辑就可以很好地工作。但是,如果确实如此,我会得到“指定的密钥不存在”。错误。
为了清楚起见,我正在获取 URL 本身并对其进行解析。所以,当我拿到钥匙时,它看起来像这样:
mybucket/my+file+with+spaces.pdf
因此,S3 SDK 似乎采用了加号并将其 URL 编码为 %2b,因此当单击链接时它无法识别路径。如果我重新编写将“+”放回去的链接,我会收到以下错误:
我们计算的请求签名与您提供的签名不匹配。检查您的密钥和签名方法。
【问题讨论】:
标签: java amazon-web-services amazon-s3