我正在尝试为我的AEM表单实现文件附件。我们的想法是将附件嵌入到PDF中;提交PDF后,后端系统将能够从PDF中提取附件。
我似乎找不到任何关于我如何去做的例子,这让我想知道这是一个限制。但是,在下面的adobe网站上,实际上已经说明了#34;支持文件附件"适用于所有AEM表单类型。
https://helpx.adobe.com/aem-forms/6/introduction-aem-forms.html
请指教!谢谢!
答案 0 :(得分:0)
您可以使用HTML5表单上传,预览和提交附件。默认情况下,禁用附件支持。要启用附件支持:
1-使用mutiselect字符串属性mfAttachmentOptions创建自定义配置文件。
2-在自定义配置文件中,指定属性fileSizeLimit,multiSelect和buttonText以配置文件附件窗口小部件的选项。根据需要,您还可以指定更多自定义属性。
3-在自定义配置文件中,使用以下配置:
4-使用元数据编辑器选择您为HTML 5表单创建的自定义配置文件。
5-使用自定义配置文件呈现表单模板,附件图标将显示在表单工具栏上。
6-单击附件图标,将出现附件选择对话框。浏览并选择附件,然后单击“附加”。
启用附件后,HTML5表单会提交多部分数据。多部分提交数据包含两部分dataXml和附件。
参考:https://helpx.adobe.com/aem-forms/6-1/html5-forms/enabling-attachments-html5-form.html
答案 1 :(得分:0)
以下是"添加附件"的代码按钮。
var oDoc = event.target;
var doccount = parseInt(colhead.attcount.rawValue);
colhead.attcount.rawValue = doccount + 1;
Trusted_ImportDataObject(oDoc, doccount);
var oAttachment = oDoc.getDataObject("attachment_" + doccount);
var DOsize = oAttachment.size;
var DOmimeType = oAttachment.MIMEType;
if (DOmimeType == null) DOmimeType = "reject";
if ((DOsize > 1100000) || (DOmimeType.indexOf("image/") != 0)) {
xfa.host.messageBox("Attachemtns must be an image and smaller than 1 Megabyte");
oDoc.removeDataObject("attachment_" + doccount);
} else {
var attachPath = oAttachment.path;
AttachFileName.rawValue = attachPath;
AttachMIMEType.rawValue = oAttachment.MIMEType;
AttachHref.rawValue = oAttachment.name;
}
请注意,需要Reader Extension才能启用文件附件。否则你会收到这个错误:
NotAllowedError: Security settings prevent access to this property or method.
Doc.importDataObject:6:XFA:CTR[0]:Page6[0]:part6[0]:body[0]:attachitem[0]:AddAttachment[0]:click