zoukankan      html  css  js  c++  java
  • elementui上传图片到七牛云服务器

    注册七牛云

    首先,注册七牛云,并且完成实名认证,完成后会在个人中心->秘钥管理中看到两个秘钥AccessKey/SecretKey

    创建存储空间(必须要实名认证)

    生成上传凭证

    为了实现上传,我们还需要生成上传凭证,关于凭证,可以参看文档,并且在文档结束后还有demo,因为是个人项目,为了简单,我直接从demo中生成了deadline为1000多小时的秘钥,确保不会过期,

    填入ak,sk,以及bucketName(就是开始创建的对象存储空间的名字),deadline修改demo的源代码再重新运行即可。

    代码演示

    <el-form-item label="缩略图" label-width="90px" class="img-item" prop="thumb">
                <el-upload
                  class="avatar-uploader"
                  action="http://upload.qiniup.com"            // 这是上传的url,可以在七牛开发者平台中找到,也可看LZ下面贴出来的图片以及url查找
                  :data="qn"                                                // qn包括token与key,token是上述生成的上传凭证,自由的key可以上传到七牛中     存储空间对应不同的图片名
                  :show-file-list="false"
                  :on-success="handleSuccess"
                  :before-upload="beforeUpload"
                  :on-progress="handlePro"
                  :on-error="handleError"
                >
                  <img v-if="formData.thumb" :src="formData.thumb" class="avatar">
                  <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                </el-upload>
                <el-input style="margin-top:20px;" v-model="formData.thumb" size="small" class="link"></el-input>
                <el-progress :percentage="percent" v-if="percent !== 0 && percent !== 100"></el-progress>
              </el-form-item>
    ....................................................
    qn: {
            token: "生成凭证中生成的token",
            key: ""
          },
    
    methods: {
        // 上传成功
        handleSuccess(res, file) {
          this.formData.thumb = "http://plrtqxkn3.bkt.clouddn.com/" + res.key;   // 这边显示图片,上传成功后会返回一个对象,包含一个hash和一个key,然后前边加上七牛云为你随机分配的域名就是图片的外链。查看这个域名可看下面的描述
        },
        // 上传之前判断
        beforeUpload(file) {
          this.qn.key = file.name;        // 通过设置key为文件名,上传到七牛中会显示对应的图片名
          // debugger
          const isJPG = file.type === "image/jpeg" || file.type === "image/png";
          const isLt10M = file.size / 1024 / 1024 < 10;
    
          if (!isJPG) {
            error("上传头像图片只能是 JPG/PNG 格式!");
          }
          if (!isLt10M) {
            error("上传头像图片大小不能超过 10MB!");
          }
          return isJPG && isLt10M;
        },
      },
    
    

    action对应上传的url查看

    上传地址查看:https://developer.qiniu.com/kodo/manual/1671/region-endpoint

    七牛云随机分配域名查看

    成果展示


  • 相关阅读:
    node
    github
    [模块] pdf转图片-pdf2image
    python 15 自定义模块 随机数 时间模块
    python 14 装饰器
    python 13 内置函数II 匿名函数 闭包
    python 12 生成器 列表推导式 内置函数I
    python 11 函数名 迭代器
    python 10 形参角度 名称空间 加载顺序
    python 09 函数参数初识
  • 原文地址:https://www.cnblogs.com/raind/p/10307508.html
Copyright © 2011-2022 走看看