Bucket设置
从浏览器中直接访问OSS需要开通Bucket的CORS设置:
将allowed origins设置成 *
将allowed methods设置成 PUT, GET, POST, DELETE, HEAD
将allowed headers设置成 *
将expose headers设置成 etag x-oss-request-id
注意:请将该条CORS规则设置成所有CORS规则的第一条。
<!-- oss 上传文件 JavaScript 库 -->
<script src="http://gosspublic.alicdn.com/aliyun-oss-sdk-4.4.4.min.js"></script>
var u = navigator.userAgent;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1;
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
var region='${ossClientConfig.region}';
var accessKeyId='${ossClientConfig.accessKeyId}';
var accessKeySecret='${ossClientConfig.accessKeySecret}';
var endpoint='${ossClientConfig.endpoint}';
var bucket='${ossClientConfig.bucket}';
var ossServer='${ossClientConfig.ossServer}';
if(isAndroid){
var client = new OSS.Wrapper({
region : region,
accessKeyId : accessKeyId,
secure:true,
accessKeySecret : accessKeySecret,
bucket : bucket
});
} else if(isiOS){
var client = new OSS.Wrapper({
region : region,
accessKeyId : accessKeyId,
secure:true,
accessKeySecret : accessKeySecret,
endpoint:endpoint,
bucket : bucket
});
}else{
var client = new OSS.Wrapper({
region : region,
accessKeyId : accessKeyId,
secure:true,
accessKeySecret : accessKeySecret,
bucket : bucket
});
}
$("#file").change(function(){
var file=this.files[0];
var val= this.value;
var suffix = val.substr(val.indexOf("."));
var storeAs = "upload/"+timestamp()+suffix;
console.log(file.name + ' => ' + storeAs);
client.multipartUpload(storeAs, file).then(function (result) {
console.log(result);
$("#docLicenses" + max).attr("src", '' + 'http://'+ossServer+'/'+result.name);
$("#ipt_" + max).val('http://'+ossServer+'/'+result.name);
}).catch(function (err) {
console.log(err);
});
})
function uploadPic(obj){
var file=obj.files[0];
var val= obj.value;
var suffix = val.substr(val.indexOf("."));
var storeAs = "demo/"+timestamp()+suffix;
console.log(file.name + ' => ' + storeAs);
client.multipartUpload(storeAs, file).then(function (result) {
}).catch(function (err) {
console.log(err);
});
}
function timestamp(){
var time = new Date();
var y = time.getFullYear();
var m = time.getMonth()+1;
var d = time.getDate();
var h = time.getHours();
var mm = time.getMinutes();
var s = time.getSeconds();
var ms =time.getMilliseconds();
console.log(y);
return ""+y+add0(m)+add0(d)+add0(h)+add0(mm)+add0(s)+add0(ms);
}
function add0(m){
return m<10?'0'+m : m;
}