小编yai*_*iks的帖子

如何使用适用于浏览器的 aws-sdk V3 跟踪到 S3 的上传进度 (javascript)

我可以在网上找到很多关于如何使用 aws-sdk V2 跟踪上传到 S3 的进度的资源,监听如下事件:

.on('httpUploadProgress', event => {}
Run Code Online (Sandbox Code Playgroud)

但自从我将 aws-sdk 更新到 V3 后,就不再有侦听器了。我相信我现在必须使用中间件功能,但我尝试了一些方法但没有成功。我还深入研究了API 参考文档github 存储库,但没有成功。

我当前的代码是这样的:

import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3';

export const UploadToS3 = (credentials, fileData) => {

    const s3 = new S3Client({
        region: credentials.region,
        credentials: {
            accessKeyId: credentials.access_key,
            secretAccessKey: credentials.secret_key,
            sessionToken: credentials.session_token,
        }
    });

    return new Promise((resolve) => {
        s3.send(new PutObjectCommand({
            Bucket: credentials.bucket,
            Key: credentials.file,
            Body: fileData,
        }));
    });
};
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激

javascript amazon-s3 amazon-web-services aws-sdk

12
推荐指数
2
解决办法
7388
查看次数