fileUploadField 单文件上传

fileUploadField 支持上传一个文件,并以字节数组的形式存储于实体属性。

  • XML 元素:fileUploadField

  • Java 类:FileUploadField

基本用法

这个控件可以包含标题、已上传文件的链接和一个上传按钮。当点击上传按钮的时候,会弹出系统标准的文件选择器,用户可以在这里选择需要上传的文件。

file upload field basics

下面例子中,User 实体的 document 属性是字节数组类型。

@Column(name = "DOCUMENT")
private byte[] document;
<data>
    <instance class="com.company.onboarding.entity.User" id="userDc">
        <fetchPlan extends="_base"/>
        <loader id="userDl"/>
    </instance>
</data>
<layout>
    <fileUploadField dataContainer="userDc"
                     property="document"
                     clearButtonVisible="true"
                     fileNameVisible="true"/>
</layout>

fileUploadFielddataContainer 属性设置为数据容器;而 property 属性设置为展示在 fileUploadField 组件的实体属性。

如需上传文件至文件存储,并使用 FileRef 类型作为实体属性,请使用 fileStorageUploadField 组件。

XML 属性

fileName

设置当组件值是从数据容器获得时的文本。用户上传文件后,控件应该显示文件名。但是,当值在数据库保存后,控件会丢失文件名信息。fileName 属性的作用就是在这种情况下可以显示自定义的内容。如果未设置该属性,则显示默认值:

file upload field file name

事件和处理器

在 Jmix Studio 生成处理器桩代码时,可以使用 Jmix UI 组件面板的 Handlers 标签页或者视图类顶部面板的 Generate Handler 添加,也可以通过 CodeGenerate 菜单(Alt+Insert / Cmd+N)生成。