• 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

    七牛云随机分配域名查看

    成果展示


  • 相关阅读:
    UPC12617 卡片
    mcmf的dijkstra板子(来自PHY学长)
    UPC9630 Mad Veterinarian
    UPC8173【 哈希和哈希表】Three Friends
    UPC9655 Plug It In!
    UPC8428 网格VI
    UPC4248【数论】数字迷阵
    UPC4247【数论】普通递归关系
    SPOJ
    hdu 5992 Finding Hotels (kdTree)
  • 原文地址:https://www.cnblogs.com/raind/p/10307508.html
Copyright © 2020-2023  润新知