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"
    }
  });
};
相关推荐
神の愛40 分钟前
左连接查询数据 left join
java·服务器·前端
南境十里·墨染春水1 小时前
linux学习进展 线程同步——互斥锁
java·linux·学习
雨奔1 小时前
Kubernetes 联邦 Deployment 指南:跨集群统一管理 Pod
java·容器·kubernetes
杨凯凡1 小时前
【021】反射与注解:Spring 里背后的影子
java·后端·spring
lulu12165440781 小时前
Claude Code项目大了响应慢怎么办?Subagents、Agent Teams、Git Worktree、工作流编排四种方案深度解析
java·人工智能·python·ai编程
riNt PTIP1 小时前
SpringBoot创建动态定时任务的几种方式
java·spring boot·spring
老星*2 小时前
AI选股核心设计思路
java·ai·开源·软件开发
小码哥_常2 小时前
解锁Android嵌入式照片选择器,让你的App体验丝滑起飞
前端
それども2 小时前
Comparator.comparing 和 拆箱问题
java·jvm
郑寿昌3 小时前
IIoT本体迁移的领域扩展机制
服务器·前端·microsoft