首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Javascript和AJAX上传到Wasabi存储

如何使用Javascript和AJAX上传到Wasabi存储
EN

Stack Overflow用户
提问于 2020-02-14 15:11:01
回答 1查看 728关注 0票数 2

如何使用客户端浏览器Javascript和AJAX将文件上传到Wasabi Storage?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-15 00:25:10

Wasabi技术支持的Pankaj回复我说,这个代码片段将工作得很好。他们建议下载一次并使用Amazon AWS SDK for S3,因为Wasabi与S3应用程序接口兼容。

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.619.0.min.js"></script>
</head>
<body>

  <h1>Wasabi Upload Test</h1>
  <input type="file" id="wasabiupload" onchange="handleFile()" />

<script>

function handleFile() {
  // console.log("handle file - " + JSON.stringify(event, null, 2));
  var files = document.getElementById('wasabiupload').files;
  if (!files.length) {
    return alert('Please choose a file to upload first.');
  }
  var f = files[0];
  var fileName = f.name;

  const s3 = new AWS.S3({
    correctClockSkew: true,
    endpoint: 'https://s3.wasabisys.com', //use appropriate endpoint as per region of the bucket
    accessKeyId: 'Wasabi-Access-keys',
    secretAccessKey: 'Wasabi-Secret-Access-key',
    region: 'us-east-1'
    ,logger: console
  });

  console.log('Loaded');
  const uploadRequest = new AWS.S3.ManagedUpload({
    params: { Bucket: 'bucket-name', Key: 'file-name', Body: f },
    service: s3
  });

  uploadRequest.on('httpUploadProgress', function(event) {
    const progressPercentage = Math.floor(event.loaded * 100 / event.total);
    console.log('Upload progress ' + progressPercentage);
  });

  console.log('Configed and sending');

  uploadRequest.send(function(err) {
    if (err) {
      console.log('UPLOAD ERROR: ' + JSON.stringify(err, null, 2));
    } else {
      console.log('Good upload');
    }
  });

}
</script>
</body>
</html>
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60221575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档