我可以在网上找到很多关于如何使用 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)
任何帮助,将不胜感激