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"
    }
  });
};
相关推荐
码不停蹄的玄黓1 分钟前
JUC核心解析系列(五)——执行框架(Executor Framework)深度解析
java·jvm·spring boot·spring cloud
白总Server2 分钟前
GaussDB 分布式数据库调优(架构到全链路优化)
java·网络·c++·架构·go·scala·数据库架构
啊~哈8 分钟前
页面弹窗适配问题
前端·javascript·vue.js
工呈士15 分钟前
构建优化策略:Tree Shaking、代码分割与懒加载
前端·面试
用户3273242098718 分钟前
logger2js - JavaScript日志与调试工具库
javascript
listhi52019 分钟前
k8s使用私有harbor镜像源
java·docker·kubernetes
骑自行车的码农20 分钟前
React Suspense实现原理深度解析 1
前端·react.js
安然dn23 分钟前
Interact.js 一个轻量级拖拽库
javascript
还是一只小牛23 分钟前
探秘 React Native:线程探索及桥优化
android·前端
Face23 分钟前
Vue源码核心模块解析
前端·vue.js