javascript - AWS SDK JavaScript : how display upload progress of AWS. S3.putObject?

标签 javascript html file-upload amazon-web-services amazon-s3

我正在开发一个 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/

相关文章:

javascript - 动态改变 DOM 中的图像

html - canvas.toBlob() 方法在不同浏览器中的稳定性如何?

javascript - Onclick 在 JavaScript Canvas 中创建的图像

javascript - DeviceMotionEvent 目前在哪里实现?

javascript - 如何在 Angular 中使用 Controller 定位 html 元素?

javascript - 如何使用express nodejs上传图像文件并显示

php - $_FILES[...] ['size' ] 可以伪造吗?

html - IE9 中的 XHTML 字体浏览器兼容性

javascript - SWT 中 WYSYWYG contentEditable 中的撤消和重做不起作用

jquery - widgetVar 不能在 p :fileUpload 中使用