vue实现上传文件到七牛云

第一步:安装插件

npm install qiniu-js

第二步,页面中引入插件

import * as qiniu from 'qiniu-js'

第三步,调用方法

        // 必须手动上传文件
        async onChangeFile() {
            let that = this;
            let file = this.$refs.uploadfile.files[0];
            if (file) {
                let fileType = file.name.substring(file.name.lastIndexOf("."))
                let param = {
                    fileName: new Date().getTime() + Math.random().toString(10).slice(2, 4) + fileType,
                    fileType: fileType
                }
                // 先调用上传服务器的接口,获取密钥key和权限authToken
                const data = await uploadFile(param)
                if (data.code==200) {
                    // 上传开始,参数1file是上传的文件,后两个是上个接口拿到的返回值
                    const observable = qiniu.upload(file, data.result.key, data.result.authToken)
                    const observer = {
                        next(res) {
                        },
                        error(res) {
                            that.$message.error("上传失败" + res.QiniuError.message)
                        },
                        complete(res) {
                            //执行上传成功后的逻辑
                        }
                    }
                    observable.subscribe(observer);
                }
            }
        },

你可能感兴趣的:(vue.js,javascript,ecmascript)