Evaporate.js 介绍
Evaporate是一个JavaScript库,用于将文件从浏览器上传到AWS S3,使用并行S3的分段上传和MD5校验和支持,并控制暂停/恢复上传。
Evaporate.js功能:
为每个部件可以配置的并行上传数量( maxConcurrentParts )
为每个上传的部件( computeContentMd5 ) 提供可以配置的MD5校验和计算和处理
AWS签名版本 2和 4 ( awsSignatureversion)
S3传输加速( s3acceleration )
上传大型文件时的健壮恢复。 只有还没有完全上传的部分。 (s3FileCacheHoursAgo,allowS3ExistenceOptimization )
暂停和恢复下载的能力
支持 AWS Lambda,异步函数和更多的可以插入签名方法
Evaporate.js安装
npm install evaporate
或
<script language="JavaScript" type="text/JavaScript" src="../evaporate.js"></script>
Evaporate.js例子
require('crypto');
var config = {
signerUrl: <SIGNER_URL>,
aws_key: <AWS_KEY>,
bucket: <AWS_BUCKET>,
cloudfront: true,
computeContentMd5: true,
cryptoMd5Method: function (data) { return crypto.createHash('md5').update(data).digest('base64'); }
};
return Evaporate.create(config)
.then(function (evaporate) {
var file = new File([""],"file_object_to_upload"),
addConfig = {
name: file.name,
file: file,
progress: function (progressValue) { console.log('Progress',progressValue); },
complete: function (_xhr,awsKey) { console.log('Complete!'); },
},
overrides = {
bucket: AWS_BUCKET // Shows that the bucket can be changed per
};
evaporate.add(addConfig,overrides)
.then(function (awsObjectKey) {
console.log('File successfully uploaded to:',awsObjectKey);
},
function (reason) {
console.log('File did not upload sucessfully:',reason);
});
});
GitHub:https://github.com/TTLabs/EvaporateJS
Evaporate.js
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。