Quiero agregar una funcionalidad de importación a una aplicación SAPUI5. No necesito cargar el archivo en un servidor, ya que solo quiero manejar el archivo en el lado del cliente. El control FileUploader que se proporciona con SAPUI5 no parece admitir eso.
Se puede deshabilitar la carga automática al no establecer la propiedad uploadOnChange en verdadero y luego agregar un controlador de change al control. El controlador de change tiene acceso a los archivos cargados a través oEvent.getParameters().files y puede procesar los archivos cargados. Cuando el formulario que está dentro del control FileUploader nunca se envía, no intentará cargar los archivos.
<mvc:View controllerName="app.controller.Main" xmlns="sap.m" xmlns:mvc="sap.ui.core.mvc" xmlns:unified="sap.ui.unified" displayBlock="true"> <Shell id="shell"> <App id="app"> <pages> <Page id="page" title="{i18n>title}"> <content> <unified:FileUploader id="ui5-uploader"/> </content> </Page> </pages> </App> </Shell> </mvc:View> sap.ui.define([ "sap/ui/core/mvc/Controller" ], function (Controller) { "use strict"; return Controller.extend("app.controller.Main", { onAfterRendering: function() { var uploader = this.getView().byId("ui5-uploader"); uploader.attachChange(function(oEvent) { oEvent.getParameters().files[0].text().then( function(sContent) { console.log(sContent); } ); }); } }); });