zoukankan      html  css  js  c++  java
  • 文件上传-阿里云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'''
  • 相关阅读:
    ES6获取页面所有页面标签名
    改变this对象的指向
    构造函数及原型
    全局对象this转为局部对象
    节点注意的问题
    Spark研究笔记17:设置 CVT
    Spark研究笔记15:资源 CVT
    Spark研究笔记13:Swing 组件类 CVT
    Spark研究笔记16:搜索 CVT
    Spark研究笔记19:插件体系开发 CVT
  • 原文地址:https://www.cnblogs.com/inyu/p/13659095.html
Copyright © 2011-2022 走看看