2017-06-27 2 views
-1

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

Antwort

0

Try this:

sap.ui.core.Fragment.byId(this.getView().createId("AttachmentFrag"), "UploadCollection") 
+0

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

+0

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? –

+0

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