我尝试了以下代码,并且在文件较小的情况下也可以正常工作。我测试了不同的文件大小50MB,180MB,230MB,效果很好。但是上传大小为520MB的大文件时失败了。
在这里,我需要支持GB文件。
是否可以直接从客户端到S3?
请在下面找到示例代码
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.1.24.min.js"></script>
<script type="text/javascript">
AWS.config.update({
accessKeyId : "<accessKeyId>",
secretAccessKey : "<secretAccessKey>"
});
AWS.config.region = 'us-east-1';
function clientToS3() {
var bucket = new AWS.S3({params: {Bucket: 'dummywork'}});
var fileChooser = document.getElementById('dummyFile');
var file = fileChooser.files[0];
if (file) {
var params = {Key: file.name, ContentType: file.type, Body: file};
bucket.upload(params).on('httpUploadProgress', function(evt) {
$("#progressDiv").html("Uploaded : " + parseInt((evt.loaded * 100) / evt.total)+'%');
}).send(function(err, data) {
console.log("File uploaded successfully.");
});
}
}
</script>