Adobe CQ图像组件文件名

Adobe CQ图像组件文件名,adobe,aem,Adobe,Aem,我使用Maven原型创建了一个新的Adobe CQ 5.6.1项目,然后创建了一个页面组件和一个CQ:page,它将该页面组件用作sling:resourceType。页面组件有一个 <cq:include path="par" resourceType="foundation/components/parsys" /> P>一切都很好,我可以加载页面,在侧栏中,我看到图像和下载组件,并且能够将它们拖动到Par。 问题 编辑下载组件时,我从

我使用Maven原型创建了一个新的Adobe CQ 5.6.1项目,然后创建了一个页面组件和一个
CQ:page
,它将该页面组件用作
sling:resourceType
。页面组件有一个

<cq:include path="par" resourceType="foundation/components/parsys" />
<> P>一切都很好,我可以加载页面,在侧栏中,我看到图像和下载组件,并且能够将它们拖动到Par。

问题 编辑下载组件时,我从文件系统中选择一个文件,该文件将上载到CRX的
文件
节点中。此文件节点的父节点获取一个名为
fileName
的属性,该属性反映上载文件的文件名

编辑图像组件时,其行为与从文件系统中选择的文件相同,并将其上载到
文件
节点,但没有
文件名
属性集


查看每个基础组件的对话框,我看到它们有一个<代码>文件名参数,但是在<代码>基础/组件/图像< /代码>的情况下,这只是被忽略了。我需要保留原始上传的

文件名
,如何使用
foundation/components/image

我将此JS脚本放入clientlib中,扩展了
HTML5 SmartImage
xtype

var MyAppLib = MyAppLib || {};

MyAppLib.NamedHtml5SmartImage = CQ.Ext.extend(CQ.html5.form.SmartImage, {

    constructor : function(config) {

        config = config || {};
        var defaults = {
            "transferFileName" : true
        };

        CQ.Util.applyDefaults(config, defaults);
        MyAppLib.NamedHtml5SmartImage.superclass.constructor.call(this, config);
    }
});

CQ.Ext.reg("namedhtml5smartimage", MyAppLib.NamedHtml5SmartImage);

然后基于
foundation/components/image
创建了一个新组件,并取消了我的xtype
namedhtml5smartimage
而不是对话框选项卡配置中的
html5smartimage

我想我曾经就这个问题向Adobe提交了一个bug。我不确定,但我认为这取决于你使用的浏览器和上传机制。如果我没记错的话,是Firefox和html5上传程序。您可以在覆盖对话框中设置useHTML5=“{Boolean}false”。
var MyAppLib = MyAppLib || {};

MyAppLib.NamedHtml5SmartImage = CQ.Ext.extend(CQ.html5.form.SmartImage, {

    constructor : function(config) {

        config = config || {};
        var defaults = {
            "transferFileName" : true
        };

        CQ.Util.applyDefaults(config, defaults);
        MyAppLib.NamedHtml5SmartImage.superclass.constructor.call(this, config);
    }
});

CQ.Ext.reg("namedhtml5smartimage", MyAppLib.NamedHtml5SmartImage);