-1
Foliiアプリケーション用のoDataサービスから添付ファイルをUploadCollectionを使用してフラグメント内にアップロードしようとしています。Sapui5 Upload Collection oDataからアップロードアタッチメント
フラグメントコード:
<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>
詳細コード:
<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>
コントローラ詳細コード:
\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 });
コンソールは、私は、このエラーを与える: はTypeError: sap.ui.core:プロパティを読み取ることができません 'bindItems' 未定義
のを詳細コントローラのコードの最後の部分に。 Fragment.byId( "AttachmentFrag"、 "UploadCollection")。bindItems({....
この問題を解決するのに手伝ってもらえますか?すべて、
MAV
おかげAndriiは、あなたのソリューションは、エラーを解決するために正常に動作します。 添付ファイルが表示されない可能性があるので、私は他のいくつかのエラーを起こしている可能性があります。 コンソールに次のエラーが表示されます。 http:// localhost:57681/sap/opu/odata/sap/ZSERVICE/405(方法が許可されていません) どこが間違っているか分かりますか? – Mavhart
どのバックエンドをお使いですか?それはどこにありますか?ファイルがアップロードされるネットワークタブ(デベロッパーツール内)からリクエストパスを指定できますか? –
サービスはECCゲートウェイで実行され、パスは http://domainclient.org:8000/sap/opu/odata/sap/ZSERVICE/DataAttach これを意味しますか? ブラウザで起動するとデータが表示されるので、バックエンドサービスに問題はないと思います。 – Mavhart