文件上传-阿里云OSS-存储文件

JS上传文件到阿里云OSS

OSS支持流式写入和读出。特别适合视频等大文件的边写边读业务场景。

注意在OSS的控制台:跨域管理中设置允许的方法

这里写图片描述

 <script>
        var client = new OSS.Wrapper({
            region : 'oss-cn-beijing',
            accessKeyId : '输入你的accessKeyId ',
            accessKeySecret : '输入你的accessKeySecret ',
            bucket : '你的存储空间名字'
        });
        function on_click_upload_file(){
            var file = document.getElementById("file").files[0];
            if (file == null || file == "") {
                alert("你还没有选择任何文件,不能上传!");
                return false;
            }
            console.log(file.name);
            var val= document.getElementById("file").value;
            //定义允许上传的文件类型
            var allow_ext = ".xls|.xlsx|.csv|";
            //获取后缀名
            var suffix = val.substr(val.lastIndexOf("."));
            //判断上传文件类型是否允许上传
            if (allow_ext.indexOf(suffix + "|") == -1) {
                var errMsg = "该文件不允许上传,请上传" + allow_ext + "类型的文件,当前文件类型为:" + suffix;
                alert(errMsg);
                return false;
            }
            var obj=timestamp();  // 这里是生成文件名
            var storeAs =obj+suffix;  //命名空间
            console.log(' => ' + storeAs);

            client.multipartUpload(storeAs, file).then(function (result) {
                console.log(result);//返回对象
                console.log(result.url); //返回链接
            }).catch(function (err) {
                console.log(err);
            });
        }
        /**
         * 生成文件名
         * @returns
         */
        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();
            console.log(y);
            return ""+y+add0(m)+add0(d)+add0(h)+add0(mm)+add0(s);
        }
        function add0(m){
            return m<10?'0'+m : m;
        }
    </script>
... prompt'''

猜你喜欢

转载自blog.csdn.net/q669239799/article/details/77542789