element-plus 上传组件 el-upload 直传第一次取不到数据

取不到数据是官方("element-plus": "^2.3.4") beforeData在beforeUploadPromise 之前导致异步设置:data 不生效文件传不上去的原因,改为http-request去处理就可以了。挺奇怪,之前用("element-plus": "^2.2.17")是没有问题的。

在before-upload里请求后端接口获取到accessid、policy、signature、dir等。

在http-request里

javascript 复制代码
const httpRequest: UploadRequestHandler = async (options: UploadRequestOptions) => {
  console.log(options);
  let formdata = new FormData();
  formdata.append("ossaccessKeyId", dataOss.value.ossaccessKeyId);
  formdata.append("policy", dataOss.value.policy);
  formdata.append("signature", dataOss.value.signature);
  formdata.append("host", dataOss.value.host);
  formdata.append("key", dataOss.value.key);
  formdata.append("success_action_status", "200");
  formdata.append("file", options.file);
  uploadFileToOSS(formdata, options.action).then(res => {
    console.log(res);
    if (res.status == 200) {
      options.onSuccess(res);
    } else {
      ElMessage({ message: "上传失败", type: "error", showClose: true });
    }
  });
};


const uploadFileToOSS = (data: any, action: string) => {
  return axios({
    url: action,
    method: "POST",
    data: data,
    headers: {
      "Content-Type": "multipart/form-data"
    }
  });
};
相关推荐
guoss1 分钟前
实现渐变背景叠加渐变圆角边框
前端
枫,为落叶3 分钟前
【vue】导出excel
前端·vue.js·excel
转转技术团队4 分钟前
当 AI 走进前端开发:代理插件的全流程开发实践
前端·javascript·ai编程
慧一居士6 分钟前
Quill 富文本编辑器 功能介绍,使用场景说明,使用示例演示
前端
FinClip8 分钟前
100%关税与软件封锁下,信创为何是破局关键?
前端
晴殇i10 分钟前
一行生成绝对唯一 ID:别再依赖 Date.now() 了!
前端·javascript·vue.js
哲此一生98417 分钟前
SpringBoot3集成Mybatis(开启第一个集成Mybatis的后端接口)
java·spring boot·mybatis
浮游本尊22 分钟前
Java学习第26天 - 微服务监控与运维实践
java
高山上有一只小老虎22 分钟前
idea2025社区版设置打开的多个文件展示在工具栏下方
java·ide·intellij-idea
CrabXin26 分钟前
前端如何用 CDN 加速网站性能全解析
前端