也没有onStateChanged、onProgressChanged、onError方法,我用的Aws for java V2版本
时间: 2023-12-29 13:02:38 浏览: 33
非常抱歉,我之前的回答仍然不正确。在AWS SDK for Java V2 中,`TransferListener` 接口不再被支持,取而代之的是 `S3ProgressListener` 接口。以下是示例代码:
```
S3ProgressListener progressListener = new S3ProgressListener() {
@Override
public void onPersistableTransfer(PersistableTransfer persistableTransfer) {
// do something when persistable transfer
}
@Override
public void onBytesTransferred(S3Request s3Request, long bytesTransferred) {
// calculate progress percentage and return to frontend
int percent = (int) ((bytesTransferred * 100) / s3Request.getOriginalRequest().getContentLength());
// return percent to frontend
}
@Override
public void onByteTransferError(S3Request s3Request, Exception e) {
// handle error
}
};
```
在创建 `GetObjectRequest` 或者 `TransferManager` 对象时,可以设置进度监听器,如下所示:
```
GetObjectRequest getObjectRequest = GetObjectRequest.builder()
.bucket(bucketName)
.key(objectKey)
.build();
GetObjectResponse getObjectResponse = s3Client.getObject(getObjectRequest, ResponseTransformer.toFile(file), progressListener);
```
或者
```
TransferManager transferManager = TransferManager.create(s3Client);
Download download = transferManager.download(bucketName, objectKey, file);
download.addProgressListener(progressListener);
```
在文件下载期间,进度监听器的方法将被调用以报告下载进度。您可以在 `onBytesTransferred` 方法中计算文件下载进度并返回给前端。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)