vue+element上传图片到腾讯云

vue+element上传图片到腾讯云,第1张

安装 cos-js-sdk-v5
npm install cos-js-sdk-v5
导入
import Cos from "cos-js-sdk-v5";
import cosKye from "@/utils/cos/key";
const cos = new Cos({
  SecretId: 'xxxxx-xxx', // 身份识别 ID   ( 腾讯云服务器密钥 )
  SecretKey: 'xxxxx-xxx', // 身份密钥
});
 <el-form>
	<el-form-item label="上传图片" prop="pass">
	   <el-upload
	     class="avatar-uploader"
	     :show-file-list="false"
	     action="https://jsonplaceholder.typicode.com/posts/"
	     list-type="picture-card"
	     :on-remove="handleRemove"
	     :on-change="beforeAvatarChange"
	     :auto-upload="true"
	     :before-upload="beforeAvatarUpload"
	     :on-success="handleAvatarSuccess"
	     :http-request="httprequest"
	   >
	     <img v-if="imageUrl" :src="imageUrl" class="avatar" />
	     <i v-else class="el-icon-plus avatar-uploader-icon"></i>
    </el-upload>
    </el-form-item>
  </el-form>



//js


	/**
     * 上传腾讯云
     */
    httprequest(res) {
      // 打印获得当前res的值.res.file就等于当前上传的对象
      console.log("httprequest-----------", res);
      // return
      cos.putObject(
        {
          Bucket: 'xxxxx-xxx' /* 存储桶: */,
          Region: 'xxxxx-xxx' /* 存储桶所在地域,必须字段 */,
          Key: "merchants/categories/" + res.file.name /* 必须是字符串  前面拼接存储桶文件名 */,
          StorageClass: "STANDARD", // 固定值
          Body: res.file, // 上传文件对象
          onProgress: (progressData) => {
            // 上传进度
            console.log("上传进度-------", JSON.stringify(progressData));
          },
        },
        (err, data) => {
          // 上传成功或者失败的回调
          console.log("腾讯云打印----------->>>>>>", err || data);
          // 默认显示的图片等于上传成功后的图片
          if (data) {
            this.imageUrl = "https://" + data.Location;
          } 
        }
      );
    },
    /**
     * 上传图片前判断
     */
    beforeAvatarUpload(file) {
      const isPNG = file.type === "image/png";
      const isLt2M = file.size / 1024 / 1024 < 2;
      if (!isPNG) {
        this.$message.error("上传分类图片只能是 PNG 格式!");
      }
      if (!isLt2M) {
        this.$message.error("上传分类图片大小不能超过 2MB!");
      }
      return isPNG && isLt2M;
    },

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/940765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-17
下一篇 2022-05-17

发表评论

登录后才能评论

评论列表(0条)

保存