AWS客户端上传文件进度条

导语 AWS客户端文件上传,支持显示进度条!
<script src='//sdk.amazonaws.com/js/aws-sdk-2.5.0.min.js' title="引入SDK"></script>
<input type="file" name="myfile" id="myfile" onchange="update_file()" title="选择要上传的文件" />
<script type="text/javascript">
function update_file() {
	//要上传的文件
	var obj = document.querySelector("#myfile").files[0];
	if(!obj || obj == 'undefined'){
		return false;
	}
	//调用弹出提示,并锁定,这里使用 artDialog 4.x 的写法
	var t = $.dialog.tips('正在上传,请稍候…',100000000).lock();
	AWS.config.update({
		accessKeyId: 'AWS提供的AK',
		secretAccessKey: 'AWS提供的SK'
	});
	AWS.config.region = '上传目标'
	AWS.config.endpoint = 'https:// 上传的域名'
	AWS.config.s3ForcePathStyle = true;
	var bucket_name = '存储桶标识'
	var domain = "https://访问的域名/";

	//上传前生成新的Key值,采用 年/月/毫秒.文件格式
	var tmplist = (obj.name).split(".");
	var ext = tmplist[((tmplist).length-1)];
	var d = new Date();
	var month = d.getMonth();
	if(month<10){
		month = "0"+month;
	}
	var keyId = d.getFullYear()+"/"+month+"/"+d.getTime()+"."+ext;
	//
	var s3 = new AWS.S3({
		params: {
			Bucket: bucket_name
		}
	});
	var params = {Key: keyId, ContentType: obj.type, Body: obj};
	s3.upload(params, function(err, data) {
		if(err){
			t.content(err).time(2);
			return false;
		}
		//上传成功后
		if(data){
			//返回的文件写入表单中
			$("#file_id").val(domain+keyId);
			//清除一些信息及提醒信息
			$("#myfile").val("");
			$("#up_tips").html('视频上传成功');
			$("#myfile_html").hide();
			//关闭锁定的提示窗口
			t.close();
		}
	}).on("httpUploadProgress", function(e) {
		//上传进度条
		var precent = parseInt(e.loaded, 10) / parseInt(e.total, 10);
		precent = parseInt(precent * 100);
		t.content('正在上传中,请稍候… '+precent.toString()+'%').time(7000);
    });
	return true;
}
</script>

至此AWS客户端文件上传成功!