资讯动态

RAP 原生文件上传实践,从 Deep Parameter 到 Stream Action 的完整实现

发布时间:2026/8/25 14:17:25 来源:尧图企业网站定制
在 RAP 应用里做文件上传,真正棘手的场景往往不是把一个附件永久保存进数据库,而是文件只在业务动作执行期间存在。业务人员选择一个 TXT、CSV、JSON、XML、图片或者其他二进制文件,系统把文件送进 ABAP,ABAP 立即解析、校验并触发后续业务逻辑,文件本身并不需要成为业务对象的一部分。这类需求在传统 ABAP 应用里并不陌生。经典程序可以使用前端上传 API,SAP GUI 应用也有成熟的文件选择和二进制传输方式。到了 RAP 和 Fiori Elements 体系,问题发生了变化。前端不再直接调用 ABAP 函数,而是通过 OData 调用 RAP Business Object。一个 Action 通常接收的是简单参数,可文件不是一个普通字符串,它至少包含二进制内容、MIME Type 和文件名,而且二进制内容还需要映射为 OData Stream。现在比较实用的一条路线,是把「Action 参数」设计成一个层次化的数据结构。外层负责普通业务输入,内层负责文件。RAP 使用 Abstract Entity 和 Abstract Behavior Definition 描述这套结构,再通过deep parameter把整个层次结构交给 Action。这套模式已经不只是实验性质的技巧。到 2026 年,SAP Help 的 SAPUI5 文档已经明确提供File Upload as an Action Parameter,其中 ABAP 示例同样使用 Root Abstract Entity、@Semantics.largeObject、with hierarchy和一个关联到文件对象的 Ac

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价