当前位置: 首页 > news >正文

amis上传组件导入文件接口参数为base64格式的使用示例

amis上传组件地址:

amis - 低代码前端框架-上传组件https://aisuda.bce.baidu.com/amis/zh-CN/components/form/input-file

ajax事件:

amis - 低代码前端框架-ajax事件https://aisuda.bce.baidu.com/amis/zh-CN/docs/concepts/event-action#%E5%8F%91%E9%80%81-http-%E8%AF%B7%E6%B1%82

找不到,可以搜索“ajax”,再继续搜索expression:

属性名类型默认值说明
expressionboolean|表达式-执行条件,不设置表示默认执行

    实现思路:

    普通上传参照官方示例就行了,下方是base64格式文件自动上传的步骤:

    • 上传组件,文件内容为base64格式,利用change事件实现自动上传
    • silent为true静默调用接口,outputVar接收抛出接口返回的数据,存入变量res
    • toast显示接口返回的提示信息res.responseMsg,使用expression控制显示条件,成功时不要显示成功信息,只在接口报错时显示
    • 不过上传文件成功后再删除该文件,删除会被识别为change事件,使用expression让文件为空时不调用上传接口,避免出错

    代码示例:

    {"type": "input-file","id": "file-upload-btn","drag": false,"name": "xxx","label": "上传","proxy": true,"accept": ".xls,.xlsx","maxSize": 5000000,"onEvent": {"change": {"actions": [{"api": {"url": "/xxx/import","data": {"fileName": "${file.name}","base64Value": "${file.value}"},"method": "post","silent": true,"requestAdaptor": "return { ...api,  data: { ...api.data,base64Value:api.data.base64Value.split(',')[1]}}"},"outputVar": "res","actionType": "ajax","expression": "${!!file.name}"},{"args": {"msg": "${res.responseMsg}","msgType": "error"},"actionType": "toast","expression": "${res.responseStatus!=0}"}]}},"asBase64": true,"btnLabel": "上传文件","multiple": false,"required": true,"useChunk": false,"autoUpload": true,"uploadType": "fileReceptor","hideUploadButton": true
    }

    http://www.dtcms.com/a/356029.html

    相关文章:

  • NumPy 2.x 完全指南【三十一】布尔数组索引
  • ConcurrentHashMap的原理
  • 实战笔记——构建智能Agent:SpreadJS代码助手
  • vue3使用reactive和ref
  • 【python】python进阶——生成器
  • JDK的ConcurrentHashMap为什么放弃了分段锁
  • 大模型开发之:LangChain4j【附资料】
  • C++基础知识:虚函数和纯虚函数
  • 基于MATLAB的FIR滤波器设计与信号分离实现
  • 线性回归的法方程:原理与解析
  • 复习笔记11
  • 【K8s】整体认识K8s之pod
  • 【Git】Git 常用指令
  • 使用华为 USG6000防火墙配置安全策略
  • 今日行情明日机会——20250828
  • 驾驭巨量数据:HTTP 协议与大文件传输的多种策略
  • 【Python开源环境】Anaconda/Miniconda
  • 印度尼西亚数据源 PHP 对接文档
  • 从零搭建安全帽检测(8)— 泛化性检验:构建独立测试集与模型性能公正评估
  • 动态加载和异步调用tasklet/workqueue day63 ay64
  • 卷积神经网络搭建及应用
  • 对象之间属性拷贝(Bean Mapping)的工具MapStruct 和 BeanUtils
  • 多据点协作下的数据库权限与版本管理实战
  • BeforeEach与AfterEach注解的使用
  • React学习教程,从入门到精通, ReactJS - 安装:初学者指南(3)
  • iPhone17新品曝光!未来已来主题发布会即将登场
  • CSS入门学习
  • Vim 相关使用
  • Dify 从入门到精通(第 61/100 篇):Dify 的监控与日志分析(进阶篇)
  • 笔记本电脑蓝牙搜索不到设备-已解决