我正在开发一个 JavaScript 客户端来将文件直接上传到 Amazon S3。
<input type="file" id="file-chooser" />
<button id="upload-button">Upload to S3</button>
<div id="results"></div>
<script type="text/javascript">
var bucket = new AWS.S3({params: {Bucket: 'myBucket'}});
var fileChooser = document.getElementById('file-chooser');
var button = document.getElementById('upload-button');
var results = document.getElementById('results');
button.addEventListener('click', function() {
var file = fileChooser.files[0];
if (file) {
results.innerHTML = '';
var params = {Key: file.name, ContentType: file.type, Body: file};
bucket.putObject(params, function (err, data) {
results.innerHTML = err ? 'ERROR!' : 'UPLOADED.';
});
} else {
results.innerHTML = 'Nothing to upload.';
}
}, false);
</script>
Amazon 文档中的示例工作正常,但它不提供有关上传进度的任何反馈。
有什么想法吗?
谢谢
最佳答案
为什么不使用 s3.PutObject
函数而不是使用 ManagedUpload功能。
它经过专门开发,可以让您连接到 httpUploadProgress应该允许相当容易地更新进度条的事件。
关于javascript - AWS SDK JavaScript : how display upload progress of AWS. S3.putObject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23835252/