首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  THESDZ  ›  全部回复第 1 页 / 共 1 页
回复总数  13
使用 @Conditional impl Condtion 方法
5 楼的代码有点问题,参数不能拼接在 path 后面,而是
appendRawQueryParameter("name","value")
下面具体代码
使用的 sdk 是

```
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
</dependency>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>bom</artifactId>
<version>2.9.9</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

```
###############


Aws4PresignerParams params = Aws4PresignerParams.builder()
// .expirationTime(storageTemplate.processExpires(expires))
.awsCredentials(storageTemplate.getCredentials())
.signingName("s3")
.expirationTime(Instant.now().plusSeconds(storageTemplate.getExpiresOrDefault(expires)))
.signingRegion(Region.of(storageTemplate.processRegion(region)))
.build();
SdkHttpFullRequest request = SdkHttpFullRequest.builder()
.encodedPath(storageTemplate.processPath(bucketName, key))
.host(storageTemplate.getHost())
.appendRawQueryParameter("uploadId", uploadId)
.appendRawQueryParameter("partNumber", String.valueOf(partNumber))
.method(SdkHttpMethod.PUT)
.protocol(storageTemplate.getProtocol())
.build();
return AwsS3V4Signer.create().presign(request, params).getUri().toString();
https://sandyghai.github.io/AWS-S3-Multipart-Upload-Using-Presigned-Url/
可以生成预签名,分片上传时,每一个分片都可以生成预签名
实际上每个地址都可以生成预签名
```
Aws4PresignerParams params = Aws4PresignerParams.builder()
// .expirationTime(storageTemplate.processExpires(expires))
.awsCredentials(storageTemplate.getCredentials())
.signingName("s3")
.expirationTime(Instant.now().plusSeconds(storageTemplate.getExpiresOrDefault(expires)))
.signingRegion(Region.of(storageTemplate.processRegion(region)))
.build();
SdkHttpFullRequest request = SdkHttpFullRequest.builder()
.encodedPath(storageTemplate.processPath(bucketName, key) + "?uploadId=" + uploadId + "&partNumber=" + partNumber)
.host(storageTemplate.getHost())
.method(SdkHttpMethod.PUT)
.protocol(storageTemplate.getProtocol())
.build();
return AwsS3V4Signer.create().presign(request, params).getUri().toString();
```
196 天前
回复了 xuddk727 创建的主题 程序员 有没有开源的公众号发券的功能?
github 上挺多微信接口的 sdk 吧,看看你用哪个咯
@xiaojinmaolove 消息中间件
@firejoke 合理的事务控制,中心化配置
最搞的是 A=>B=>A...=>A
缓存中读取,避免脏读即可
211 天前
回复了 aLazarus 创建的主题 Android 三星手机的相机简直是个坑…
urlencode
有时候就很羡慕会做 APP 的
思路换换,地铁运营方做这个的目的是?
我在想前后端分离到底是为了啥
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2441 人在线   最高记录 5043   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.3 · 32ms · UTC 13:57 · PVG 21:57 · LAX 05:57 · JFK 08:57
♥ Do have faith in what you're doing.