当前位置:   article > 正文

antd Upload组件使用customRequest消除默认action行为_antd upload customrequest

antd upload customrequest

当使用upload组件未填写action地址时,组件会默认发起请求,此时请求的地址是当前浏览器地址

为了消除这种默认行为,需要采用customRequest,并结合onChange属性做出相应的处理

代码如下:

  1. const uploadParam: UploadProps = {
  2. accept: 'application/vnd.ms-excel,application/vnd.openxmlformats-
  3. officedocument.spreadsheetml.sheet', // 指定上传文件类型
  4. maxCount: 1, // 数量
  5. beforeUpload(file) { // 上传前校验文件类型
  6. if (file.type !== 'application/vnd.ms-excel' && file.type !== 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
  7. message.error('文件类型错误, 只支持.xls,.xlsx格式');
  8. return false;
  9. }
  10. return true;
  11. },
  12. customRequest(info: any) {// 读取上传的文件,将excel转换为数组
  13. const reader = new FileReader();
  14. const { file } = info;
  15. reader.readAsBinaryString(file);
  16. reader.onload = async (e) => {
  17. const data = e.target?.result;
  18. const zzexcel = XLSX.read(data, { // 需要因为xlsx插件
  19. type: 'binary',
  20. });
  21. let newData: any = XLSX.utils.sheet_to_json(zzexcel.Sheets[zzexcel.SheetNames[0]]);
  22. message.success(`${file.name} 上传成功`);
  23. info.onSuccess(newData, file); // 不执行该代码,上传的进度条会一直存在
  24. }
  25. },
  26. onChange(info: any) {
  27. const { file } = info;
  28. if (file.status === 'uploading') {
  29. }
  30. if (file.status === "removed") {
  31. }
  32. if (file.status === 'error') {
  33. message.error('文件上传失败');
  34. }
  35. if (file.status === 'done') {
  36. }
  37. },
  38. };

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/339172
推荐阅读
相关标签
  

闽ICP备14008679号