您现在的位置是:首页 > 利用iView的上传组件前端直传阿里云OSS

利用iView的上传组件前端直传阿里云OSS

默认 2019-05-28 19:13 254人围观 来源:原创
iView   OSS  
简介上传文件到OSS有前端传本地服务器,服务器再传OSS,但是这样太慢太占用自己服务器资源了,本文分享一种前端直传方案,该方案不在前端存储key之类的敏感数据,采用后端签名,前端直传,兼顾了资源占用与安全。

上传文件到OSS有前端传本地服务器,服务器再传OSS,但是这样太慢太占用自己服务器资源了,本文分享一种前端直传方案,该方案不在前端存储key之类的敏感,采用后他端签名,前端直传,兼顾了资源占用与安全。

主要在iView的上传组件beforeUpload方法里拦截一下请求。

然后后端要提供一个签名接口,签名接口可以在阿里云官方下载最新DEMO。

handleBeforeUpload (file) {
    let _this = this;
    // 上传阿里云OSS
    return new Promise(async function(resolve, reject) {
        // 申请上传签名
        let res = await _this.util.request({
            url: '/v1/sign',
            method: 'get',
        });
        if (res.code == 200) {
            _this.item.extra.action = res.data.params.host; // 上传域名
            res.data.params.key = res.data.params.key + file.name; // 上传文件名
            _this.item.extra.data = res.data.params;  // 签名
            resolve();
        } else {
            alert('获取OSS签名失败');
        }
    });
}

 

文章评论