使用struts2仅限制自定义文件扩展名的上载文件操作

使用struts2仅限制自定义文件扩展名的上载文件操作,struts2,Struts2,我想仅对Struts2中扩展名为.key的文件限制文件上载操作。如果我在struts.xml中的fileUpload interceptor中将filetype设置为application/octet stream,则它允许上载具有上述内容类型的所有文件,而不考虑扩展名,但我的要求是将扩展名限制为。 声明性和编程性,要声明性地限制文件类型,可以将逗号分隔的AllowedType列表指定为fileUpload拦截器参数 <action name="fileUpload" class="com

我想仅对Struts2中扩展名为.key的文件限制文件上载操作。如果我在struts.xml中的fileUpload interceptor中将filetype设置为application/octet stream,则它允许上载具有上述内容类型的所有文件,而不考虑扩展名,但我的要求是将扩展名限制为。 声明性和编程性,要声明性地限制文件类型,可以将逗号分隔的AllowedType列表指定为fileUpload拦截器参数

<action name="fileUpload" class="com.example.UploadAction">
    <interceptor-ref name="basicStack"/>
    <interceptor-ref name="fileUpload">
        <param name="allowedTypes"></param>
    </interceptor-ref> 
    <interceptor-ref name="validation"/>
    <interceptor-ref name="workflow"/>

    <result name="success"</result>
</action>


我已经得到了答案。您需要在fileUpload拦截器中使用另一个名为“allowedExtensions”的参数类型。在逗号分隔的值中输入您希望允许的所有扩展名。您还可以为特定错误添加自定义消息。请参阅。下面是语法

<interceptor-ref name="fileUpload">
    <param name="allowedExtensions">key</param>
</interceptor-ref> 

钥匙