七牛云 element-ui 上传图片

element-ui 官网:

https://element.eleme.cn/#/zh-CN

七牛云官网:

https://www.qiniu.com/

1.七牛云注册 登录 之后 然后实名认证 点击对象存储

在这里插入图片描述

2.进入对象存储后 进入空间管理

在这里插入图片描述

在这里插入图片描述

3.新建空间 在这里拿到cdn测试域名

在这里插入图片描述

在PyCharm中下载qiniu这个包

pip install qiniu

在utils文件夹中创建一个comm文件

from qiniu import Auth

# 需要填写你的 Access Key 和 Secret Key  要用自己的
access_key = 'Access Key'
secret_key = 'Secret Key'

# 构建鉴权对象
def qn_token():
    q = Auth(access_key, secret_key)
    # 要上传的空间
    bucket_name = 'h2102a'
    # 生成上传 Token
    token = q.upload_token(bucket_name)
    return token

在views文件中写入接口

# 导入封装好的token
from utils.comm import qn_token

#七牛云获取token接口
class GetQnToken(APIView):
    def get(self,request):
        token = qn_token()
        return Response({'code':200,'token':token})

配置路由

from django.urls import path
from . import views 


urlpatterns = [
    path('getqiniu/',views.GetQnToken.as_view())
]

VUE

vue页面

<template>
  <el-form>
    <el-form-item label="上传封面">
      <!-- el-upload上传的组件 action地址 success传完之后做的事 limit传几条 data必带的参数 必须有一个token accept格式-->
      <el-upload
        action="http://up-z1.qiniu.com/"
        :on-success="uploadSuccess"
        :limit="1"
        list-type="picture"
        :data="postData"
        accept=".png, .jpg"
      >
        <el-button size="small" type="primary">点击上传</el-button>
        <div slot="tip" class="el-upload__tip">
          只能上传jpg/png文件,且不超过500kb
        </div>
      </el-upload>
    </el-form-item>
  </el-form>
</template>

<script>
export default {
  data() {
    return {
      imageUrl: "",
      postData: {
        // 填写你的Token
        token: "",
      },
      EncodedEntryURI: "",
    };
  },
  methods: {
    uploadSuccess(res) {
 
      this.EncodedEntryURI = res.key;
        //需要用自己的
      this.imageUrl = "cdn测试域名" + res.key;
      console.log(this.imageUrl)
    },

    // 上传图片的接口
    getToken(){
        this.axios.get('sadmin/getqiniu/').then(res=>{
            console.log(res.data)
            this.postData.token = res.data.token
        })
    }

  },
  created() {
      this.getToken()
  },
};
</script>

效果展示

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值