Ich versuche Anhang von oData-Service für eine Fiori-Anwendung UploadCollection innerhalb eines Fragments hochladen.Sapui5 Hochladen Sammlung hochladen Anhang von oData
Fragment Code:
<core:FragmentDefinition xmlns:l="sap.ui.layout" xmlns:f="sap.ui.layout.form" xmlns:core="sap.ui.core" xmlns="sap.m"
\t xmlns:mvc="sap.ui.core.mvc">
\t <UploadCollection id="UploadCollection" maximumFilenameLength="55" multiple="true" change="onChange" fileDeleted="onFileDeleted"
\t \t fileRenamed="onFileRenamed" fileSizeExceed="onFileSizeExceed" items="{/DataAttachment}" typeMissmatch="onTypeMissmatch"
\t \t uploadComplete="onUploadComplete">
\t \t <items>
\t \t <UploadCollectionItem contributor="{contributor}" documentId="{documentId}" fileName="{fileName}" fileSize="{fileSize}"
\t \t \t \t mimeType="{mimeType}" thumbnailUrl="{thumbnailUrl}" uploadedDate="{uploadedDate}" enableEdit="{enableEdit}" enableDelete="{enableDelete}"/>
\t \t </items>
\t </UploadCollection>
</core:FragmentDefinition>
Details Code:
<IconTabFilter icon="sap-icon://attachment" iconColor="Neutral" design="Horizontal" text="Attachment" key="Attachment">
\t \t \t \t \t \t <content>
\t \t \t \t \t \t \t <core:Fragment id="AttachmentFrag" fragmentName="ztravel.view.Attachment" type="XML"/>
\t \t \t \t \t \t </content>
</IconTabFilter>
Controller Details Code:
\t \t \t var sEntityPath = new sap.ui.model.odata.ODataModel("/sap/opu/odata/sap/ZSERVICE/", true);
\t \t \t // this.setModel(oViewModel);
\t \t \t // this.getView().bindElement("/DataAttachment");
\t \t \t
\t \t \t var oView = this.getView();
\t \t \t
\t \t \t // oView.bindElement(sEntityPath);
\t \t \t // update list binding
\t \t \t var sAttach = sEntityPath + "/DataAttachment";
\t \t \t
\t \t \t var oItemTemplate = new sap.m.UploadCollectionItem({
\t \t \t \t documentId: "{Pernr}",
\t \t \t \t fileName: "{Reinr}",
\t \t \t \t mimeType: "{ImMimeType}",
\t \t \t \t thumbnailUrl: "",
\t \t \t \t // url: {
\t \t \t \t // \t parts: [{
\t \t \t \t // \t \t path: 'ImImgEqui'
\t \t \t \t // \t }, {
\t \t \t \t // \t \t path: 'ImIdEqui'
\t \t \t \t // \t }],
\t \t \t \t // \t formatter: function(idimg, idequi) {
\t \t \t \t // \t \t return oView.getModel().sServiceUrl + "/AttachmentsSet(ImImgEqui='" + idimg + "',ImIdEqui='" + idequi + "')/$value";
\t \t \t \t // \t }
\t \t \t \t // },
\t \t \t \t enableEdit: false,
\t \t \t \t enableDelete: false,
\t \t \t \t visibleDelete: false,
\t \t \t \t visibleEdit: false,
\t \t \t \t statuses: new sap.m.ObjectStatus({
\t \t \t \t \t title: "Uploaded On",
\t \t \t \t \t text: {
\t \t \t \t \t \t parts: [{
\t \t \t \t \t \t \t path: 'ImDatum'
\t \t \t \t \t \t }],
\t \t \t \t \t \t formatter: function(sValue) {
\t \t \t \t \t \t \t if (sValue) {
\t \t \t \t \t \t \t \t var oDateFormat = sap.ui.core.format.DateFormat.getDateTimeInstance({
\t \t \t \t \t \t \t \t \t pattern: "dd/MM/yyyy"
\t \t \t \t \t \t \t \t });
\t \t \t \t \t \t \t \t return oDateFormat.format(new Date(sValue));
\t \t \t \t \t \t \t } else {
\t \t \t \t \t \t \t \t return sValue;
\t \t \t \t \t \t \t }
\t \t \t \t \t \t }
\t \t \t \t \t }
\t \t \t \t })
\t \t \t });
\t \t \t
\t \t // \t var fragmentId = this.getView().createId("AttachmentFrag");
// var tab = sap.ui.core.Fragment.byId(fragmentId, "UploadCollection");
// tab.bindItems({
\t \t \t // \t path: sAttach,
\t \t \t // \t template: oItemTemplate
\t \t \t //});
\t \t \t
\t \t \t sap.ui.core.Fragment.byId("AttachmentFrag", "UploadCollection").bindItems({
\t \t \t path: sAttach,
\t \t \t template: oItemTemplate
\t \t \t });
Console geben Sie mir diesen Fehler: Typeerror: sap.ui.core: Kann nicht Eigentum 'bindItems' undefinierter
auf dem letzten Teil Detail Controller-Code lesen. Fragment.byId ("AttachmentFrag", "UploadCollection"). BindItems ({....
Können Sie mir helfen, dieses Problem zu lösen? Dank allen,
Mav
Dank Andrii, Ihre Lösungen funktionieren, den Fehler zu beheben. Wahrscheinlich habe ich einen anderen Fehler gemacht, weil ich den Anhang nicht sehen kann. Die Konsole geben diesen Fehler: http: // localhost: 57681/Sap/OPU/Odata/SAP/ZSERVICE/405 (Methode nicht zulässig) können Sie wissen, wo ich falsch liegen? – Mavhart
Welches Backend verwenden Sie? Wo es sich befindet? Können Sie den Anfragepfad von der Netzwerkregisterkarte (in den Entwicklertools) angeben, zu der die Datei hochgeladen werden soll? –
Der Dienst ist in ECC Gateway, der Pfad ist: http://domainclient.org:8000/sap/opu/odata/sap/ZSERVICE/DataAttach meinst du das? wenn ich es im Browser starte ich sehe die Daten, so denke ich, die Back-End-Service haben kein Problem – Mavhart