javascript 上传文件到 oss

1.实现思想

加载所需js文件,获取文件对象,初始化OSS对象,上传

核心方法

var callback = function(){
       			
       			var client = new OSS({
       				region: 'oss-cn-hangzhou',
    				accessKeyId: 'your id',
        			accessKeySecret: 'your secret',
    				bucket: 'your bucker'
       				});

       			
    			OSS.co(function* () {
    				var result = yield client.multipartUpload("flag",file);
      			console.log(result);
      			}).catch(function (err) {
      			console.log(err);
      			});  
       		} 
2.具体代码

function setImagePreview() {  
    var docObj=document.getElementById("doc");  
   
    var client = new OSS({
	region: 'oss-cn-hangzhou',
    	accessKeyId: '',
       	accessKeySecret: '',
    	bucket: ''
       	});

       			
    OSS.co(function* () {
    	var result = yield client.multipartUpload("",docObj.files[0]);
      	console.log(result);
      	}).catch(function (err) {
      		console.log(err);
      	});        
  
}
3.改进

由于这种方法将ID和密码写在js文件之中,及不安全。以此采用sts方式。

实现步骤,ajax获取临时的AccessKeyId,AccessKeySecret,SecurityToken然后初始化OSS对象,上传

function setImagePreview() {  
    var docObj=document.getElementById("doc");    
    if(docObj.files && docObj.files[0]){  
   	
       		 $.getJSON("http://localhost:8080/***/STSRequest?prefix=user/", function(data){
       			
       			AccessKeyId = data.AccessKeyId;
       			AccessKeySecret = data.AccessKeySecret;
       			SecurityToken = data.SecurityToken;
       			//使用回调函数
       			callback();
       			
       		});
       		 

       		var callback = function(){
       			
       			var client = new OSS({
       			{	//已杭州节点为例
    				region: 'oss-cn-hangzhou',
    				accessKeyId: AccessKeyId,
        			accessKeySecret: AccessKeySecret,
        			stsToken: SecurityToken,
    				bucket: '9'
       				});

       			
    			OSS.co(function* () {
    				var result = yield client.multipartUpload("*.jsp",docObj.files[0]);
      			console.log(result);
      			}).catch(function (err) {
      			console.log(err);
      			});  
       		} 
    			
    			
       		     	
        }
        
      }  
    
} 



你可能感兴趣的:(javascript 上传文件到 oss)