el-upload上传图片到七牛云或阿里云

(1)绑定上传地址,上传数据对象

html 复制代码
<el-upload class="upload-demo" :action="uploadUrl" :data="uploadData"
 :on-success="handleSuccess" :file-list="[]" :show-file-list="false" :limit="1">
</el-upload>

(2)定义数据

javascript 复制代码
// 商户的driver
driver: null,
// 图片上传的路径
uploadUrl: '',
// 上传图片的携带的信息
uploadData: {},
// 图片的链接头部分
cdn: ""

(3)定义方法

图片的路径就是图片头加上返回的key

javascript 复制代码
/**
 * 获取获取商户的driver
 */
async getDriver() {
   let res = await customerService.getDriver();
   if (res.code == 200) {
       this.driver = res.data.cdn_driver;
       this.cdn = res.data.cdn;
       this.driver ? this.getUploadToken() : "";
   }
},
/**
 * 上传图片获取token
 */
async getUploadToken() {
   let params = {
      driver: this.driver
   };
   let res = await customerService.getUploadToken(params);
   if (res.code == 200) {
      switch (this.driver) {
        case 'oss':
            this.uploadData = {
                OSSAccessKeyId: res.data.accessid,
                policy: res.data.policy,
                success_action_status: '200',
                callback: res.data.callback,
                signature: res.data.signature,
                dir: res.data.dir
            };
            this.uploadUrl = res.data.host;
            break;
         case 'qiniu':
            this.uploadData = {
                dir: '',
                token: res.data.token
             };
            this.uploadUrl = "https://up.qiniup.com";
       }
   }
},
/**
 * 上传图片成功
 */
handleSuccess(res, file, fileList) {
   // 图片的路径就是图片头加上返回的key
   let imgUrl = `${this.cdn}${res.key}`;
}
相关推荐
NiceCloud喜云3 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
wordbaby4 小时前
React Native + RNOH:跨页面数据回传的最佳实践与避坑指南
前端·react native
丷丩4 小时前
MapLibre GL JS第22课:查看本地GeoJSON
前端·javascript·map·mapbox·maplibre gl js
Front思5 小时前
AI前端工程师需要具备能力+
前端·人工智能·ai
ZC跨境爬虫7 小时前
跟着 MDN 学CSS day_29:(掌握文本与字体样式的核心艺术)
前端·css·ui·html·tensorflow
李子琪。8 小时前
网络空间安全深度实战:CSRF 漏洞原理剖析与基于 Token 的纵深防御体系构建(全栈实验报告)
前端·安全·csrf
冰暮流星8 小时前
javascript之history对象介绍
前端·笔记
IT_陈寒8 小时前
Vite热更新失灵?你可能漏了这个配置
前端·人工智能·后端
丷丩8 小时前
MapLibre GL JS第19课:实时更新要素
前端·javascript·gis·map·mapbox·maplibre gl js
Mr.Daozhi8 小时前
RAG 进阶实战:跑通 Demo 后我连续翻了 6 次车,逐一修复才真正可用(含 Gradio Web 版)
前端·数据库·langchain·大模型·gradio·rag·科研工具