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"
    }
  });
};
相关推荐
ziqi5225 分钟前
第二十五天笔记
前端·chrome·笔记
望眼欲穿的程序猿9 分钟前
Ai8051U+DHT11温湿度!
java·开发语言
GISer_Jing9 分钟前
Memory、Rules、Skills、MCP如何重塑AI编程
前端·人工智能·aigc·ai编程
一只大马猴呀9 分钟前
IntelliJ IDEA 中启动项目不显示端口号
java·ide·intellij-idea
xcs1940510 分钟前
前端 项目构建问题 \node_modules\loader-runner\lib\loadLoader.js
开发语言·前端·javascript
广然11 分钟前
EVE-NG 镜像管理工具 1.1 Web 版本正式发布!
运维·服务器·前端
Data_Journal23 分钟前
【无标题】
大数据·服务器·前端·数据库·人工智能
我爱加班、、35 分钟前
new Map()+Array.from()整理elementPlus的级联器数据
linux·前端·javascript
Hx_Ma1641 分钟前
Map集合的5种遍历方式
java·前端·javascript
css趣多多42 分钟前
render函数
前端·javascript·vue.js