AWS S3 JAVASCRIPT SDK 上传

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <!-- <script src="https://sdk.amazonaws.com/js/aws-sdk-2.410.0.min.js"></script> <script src="https://sdk.amazonaws.com/js/aws-sdk-2.806.0.min.js"></script> -->
    <script src="https://sdk.amazonaws.com/js/aws-sdk-2.235.1.js"></script>
</head>

<body>
   <input id="file-chooser" type="file"/>
    <button id="upload-button">Upload</button>
    <p id="results"><p></p>
    <script type="text/javascript">
    /// <reference types="aws-sdk" />
    var credentials = {
        accessKeyId: 'xxx',
        secretAccessKey: 'xxxxxxxxxxxxxxx'
    }; //秘钥形式的登录上传
    AWS.config.update(credentials);
    AWS.config.region = 'us-east-1'; //设置区域
    AWS.config.endpoint = 'http://114.xx.xx.xx:9000/ysx';
    AWS.config.sslEnabled = false;
    AWS.config.s3BucketEndpoint = true;
    
    // create bucket instance
    var bucket = new AWS.S3({ params: { Bucket: 'xxx' } }); //选择桶
    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, 'Access-Control-Allow-Credentials': '*', 'ACL': 'public-read' }; //key可以设置为桶的相抵路径,Body为文件, ACL最好要设置
            console.log(params)
            bucket.upload(params, function(err, data) {
                console.log(err); //打印出错误
                results.innerHTML = err ? 'ERROR!' : 'UPLOADED.';
                console.log(data);
            });
        } else {
            results.innerHTML = 'Nothing to upload.';
        }
    }, false);
    </script>
</body>

</html>

 

posted @ 2020-12-14 17:18  goldenstones  阅读(1354)  评论(0编辑  收藏  举报