javascript 上传文件到 oss

来源:互联网 发布:淘宝上传图片最佳尺寸 编辑:程序博客网 时间:2024/05/27 12:20

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.具体代码

<input type="file" name="doc" id="doc" onchange="javascript:setImagePreview();">
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);      });         }                             }              }      } 



0 0
原创粉丝点击