阿里云OSS上传文件demo

1、安装ali-oss

npm install ali-oss --save

2、demo

此例中使用到了ElementUI的el-upload组件。因为样式为自定义的 所以没有用element的自动上传的属性,这里配置根据项目需求,需要自定义,可以按照以下配置:
http-request:覆盖默认的上传行为,可以自定义上传的实现;
show-file-list:是否显示已上传文件列表,默认是true;
multiple:是否支持多选文件;
action:必填参数,上传的地址(如果不自定义上传行为,可以直接在action配置地址就行,没有地址可以为空,但是不能不写action)。
<template>
    <el-upload :http-request="uploadFile" :multiple="true" :show-file-list="true" action="">
        <el-button size="small" type="primary">点击上传</el-button>
    </el-upload>
</template>
<script>
    import OSS from 'ali-oss'
    export default {
        data() {
            return {
                fileList: []
            }
        },
        methods: {
            uploadFile(file) {
                var client = new OSS({
                    region: 'Your region',
                    accessKeyId: 'Your AccessKeyId', 
                    accessKeySecret: 'Your AccessKeySecret',
                    bucket: 'Your bucket name'
                });
                let name = file.file.name;
                let index = name.lastIndexOf(".");
                let suffix = name.substring(index, name.length); // 后缀名
                //定义唯一的文件名
                var fileName = 'photo' + file.file.uid + suffix;
                client.put(fileName, file.file).then(
                    result => {
                        //下面是如果对返回结果再进行处理,根据项目需要
                        this.fileList.push({'name': result.name, 'url': result.url});
                        console.info(this.fileList);
                    }).catch(err => {
                    console.log(err);
                })
            },
        }
    }
</script>

 

 
效果图: 

 

posted @ 2019-01-31 17:32  Lena_叶  阅读(1484)  评论(0编辑  收藏  举报