云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

域名备案_免费的网站建设_返利

小七 141 0

谷歌云_杭州高端网站建设公司_免费6个月

让我先解释一下要求。在许多SAP文档管理系统中,文档内容是针对SAP对象上传的。例如,一个通知可能有5个与通知文档编号相关联的附件。

通过ODATA在SAP Netweaver Gateway中上传文件的公认方法是实现DPC\ U EXT类的CREATE\ U STREAM方法。请看这里。当我们在前端的XHR调用中将HTTP方法设置为POST时,会调用CREATE\u STREAM。

我们知道,ODATA中的POST方法调用不支持关键参数。但是,可以使用关键参数调用PUT方法,因为它是要更新的方法。因此,大数据定义,解决方案是从生成的项目的DPC\u EXT类调用UPDATE\u STREAM。这可以通过使用XHR调用中的HTTP方法来实现。

另外,在我们创建文档并将文件附加到文档的情况下,在保存文档之前,我们需要保存上载文件的文档编号不可用。从前端(UI5)立即执行此操作的方法是等待文档创建完成,返回文档编号,然后将文件上载到具有文档编号的URI。这意味着我们在保存文档之前不会有上传URI。

SAP有一个标准控件,带有上传文件的有用UI。这是sap.m.UploadCollenction。请参阅此处的API参考。

标准sap.m.UploadCollection控件使用sap.ui.unified.FileUploader内部使用HTTP POST方法通过XHR上传文件。

当我开始使用sap.m.UploadCollection时,我意识到它有一个怪癖。上传文件的URL需要在添加文件之前设置。添加文件后,我无法更改URL。

挑战是通过在运行时设置upload URI来调用保存后生成的upload URI的HTTP PUT方法;一直以来,使用SAP提供了上传文件的控件,因为在这些控件中已经开发了一个良好的UI。

这需要扩展标准控件,以允许动态添加URL和调用HTTP PUT方法。

为此,人工智能关键技术,服务器云平台,我参考了SAP UI5的开放对应项OpenUi5。源代码托管在Github上。通过查看代码并关注github问题,我找到了增强标准控件的方法。在您惊慌失措之前,请查看SAP中的此文本。特别是这一部分:

因此,sapui5库中的代码与开源计数器部分完全相同。我们还可以从技术上下载sapui5运行时并检查代码。在这种情况下,开心返利,我们不需要参考OpenUi5。选择权归你。

我们需要做的是增强sap.m.UploadCollection,让它动态设置文件上传的URI。这可以通过增强upload()方法来实现。但是,它会在内部调用在运行时提供的URI的POST方法。这意味着您无法传递上载URI,个人用云服务器,例如"/sap/opu/odata/Attachment('12345')/$value"。为了让这样的URL能够正常工作sap.ui.unified.FileUploader控件是必需的。在XHR请求过程中,我们会将方法切换为PUT而不是POST。

请查看以下两种方法的代码:

sap.m.UploadCollection增强为CustomUploadCollection.js文件

sap.ui.unified.FileUploader增强为自定义文件上载程序.js正如你所看到的,我指的是自定义文件上载程序.js在Cu中stomUploadCollection.js文件. 这确保了我可以动态设置文件的upload URL,并调用传递的URI的PUT方法。因此,我可以将文件与要上载的文档编号一起传递。

在UI5应用程序中使用此方法的方式如下:

在您的项目中,您可以创建一个名为"control"的文件夹,在其中保存这两个文件,并使用XML命名空间设置从XML视图中引用它们。