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"
    }
  });
};
相关推荐
CDwenhuohuo几秒前
用spark-md5实现切片上传前端起node模拟上传文件大小,消耗时间
前端
阿桂有点桂6 分钟前
React使用笔记(持续更新中)
前端·javascript·react.js·react
2301_801252228 分钟前
Tomcat的基本使用作用
java·tomcat
lkbhua莱克瓦249 分钟前
Java基础——常用算法3
java·数据结构·笔记·算法·github·排序算法·学习方法
麦麦鸡腿堡17 分钟前
Java_TreeSet与TreeMap源码解读
java·开发语言
自由日记19 分钟前
实例:跳动的心,火柴人
前端·css·css3
柯腾啊27 分钟前
一文简单入门 Axios
前端·axios·apifox
教练、我想打篮球32 分钟前
05 kafka 如何存储较大数据记录
java·kafka·record
uesowys37 分钟前
华为OD算法开发指导-简易内存池
java·算法·华为od
gladiator+37 分钟前
Java中的设计模式------策略设计模式
java·开发语言·设计模式