ffx*_*sam 7 javascript amazon-s3 amazon-web-services
我希望能够跟踪 S3 文件上传的进度(上传的字节数占总字节数)。
在任何人将此标记为受骗之前 - 事实并非如此。我在 StackOverflow 上看到的所有其他答案实际上都是不正确的。如果你做这样的事情:
s3
.putObject(
{
Bucket: 'xyz',
Key: 'wow.png',
Body: data,
},
(err, data) => {
console.log('done', err, data);
}
)
.on('httpUploadProgress', progress => {
console.log('Progress:', progress);
});
Run Code Online (Sandbox Code Playgroud)
您将获得一个进度更新,显示总大小:
Progress { loaded: 1082019, total: 1082019 }
Run Code Online (Sandbox Code Playgroud)
这没有用。我正在寻找的是更细粒度的上传进度报告,就像您在上传过程中通常看到的一样(无论文件大小.. 1MB 或 100MB):
100% 中的 0% 100% 中的
3% 100% 中的
7% 100% 中的
9%
(等等)
好吧,这就是答案(虽然很蹩脚)。只是分享这一点,因为这对其他人来说可能是一个潜在的陷阱。
这在 Node.js 环境中不起作用!我一直以这种方式进行测试,它只调用httpUploadProgress回调一次。一旦我将代码移至实际的前端客户端,它就会按预期工作并在文件上传时打印进度。
| 归档时间: |
|
| 查看次数: |
2528 次 |
| 最近记录: |