Skip to content

File Handling

Implement File handling with base64 data exchange using two-way binding.

Upload

See also Z2UI5_CL_DEMO_APP_075:

abap
CLASS z2ui5_cl_sample_upload DEFINITION PUBLIC.   PUBLIC SECTION.  INTERFACES Z2UI5_if_app.  DATA mv_path  TYPE string.  DATA mv_value TYPE string.  ENDCLASS.  CLASS z2ui5_cl_sample_upload IMPLEMENTATION.  METHOD Z2UI5_if_app~main.   client->view_display( z2ui5_cl_xml_view=>factory(  )->page(  )->_z2ui5( )->file_uploader(  value = client->_bind_edit( mv_value )  path = client->_bind_edit( mv_path )  placeholder = 'filepath here...'  upload = client->_event( 'UPLOAD' )  )->stringify( ) ).   CASE client->get( )-event.  WHEN 'UPLOAD'.  "process with mv_value and mv_path...  client->message_box_display( `file uploaded` ).  ENDCASE.   ENDMETHOD. ENDCLASS.

Download

See also Z2UI5_CL_DEMO_APP_186

abap
METHOD z2ui5_if_app~main.   client->view_display( z2ui5_cl_xml_view=>factory(  )->page(  )->button(  text = 'Open Download Popup'  press = client->_event( 'BUTTON_DOWNLOAD' )  )->stringify( ) ).   CASE client->get( )-event.  WHEN 'BUTTON_DOWNLOAD'.  DATA(lv_name) = `Default_File_Name.jpg`.  DATA(lv_content) = `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAApgAAA` &&  `KYB3X3/OAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAANCSURBVEiJtZZPbBtFFMZ/M7ubXdtdb1xSFyeilBapySVU8h8OoFaooFSqiihIVIp` &&  `QBKci6KEg9Q6H9kovIHoCIVQJJCKE1ENFjnAgcaSGC6rEnxBwA04Tx43t2FnvDAfjkNibxgHxnWb2e/u992bee7tCa00YFsffekFY+nUzFtjW0LrvjRXrCDIAaPLlW` &&  `0nHL0SsZtVoaF98mLrx3pdhOqLtYPHChahZcYYO7KvPFxvRl5XPp1sN3adWiD1ZAqD6XYK1b/dvE5IWryTt2udLFedwc1+9kLp+vbbpoDh+6TklxBeAi9TL0taeWpd` &&  `mZzQDry0AcO+jQ12RyohqqoYoo8RDwJrU+qXkjWtfi8Xxt58BdQuwQs9qC/afLwCw8tnQbqYAPsgxE1S6F3EAIXux2oQFKm0ihMsOF71dHYx+f3NND68ghCu1YIoeP` &&  `PQN1pGRABkJ6Bus96CutRZMydTl+TvuiRW1m3n0eDl0vRPcEysqdXn+jsQPsrHMquGeXEaY4Yk4wxWcY5V/9scqOMOVUFthatyTy8QyqwZ+kDURKoMWxNKr2EeqVKc` &&  `TNOajqKoBgOE28U4tdQl5p5bwCw7BWquaZSzAPlwjlithJtp3pTImSqQRrb2Z8PHGigD4RZuNX6JYj6wj7O4TFLbCO/Mn/m8R+h6rYSUb3ekokRY6f/YukArN979jc` &&  `W+V/S8g0eT/N3VN3kTqWbQ428m9/8k0P/1aIhF36PccEl6EhOcAUCrXKZXXWS3XKd2vc/TRBG9O5ELC17MmWubD2nKhUKZa26Ba2+D3P+4/MNCFwg59oWVeYhkzgN/` &&  `JDR8deKBoD7Y+ljEjGZ0sosXVTvbc6RHirr2reNy1OXd6pJsQ+gqjk8VWFYmHrwBzW/n+uMPFiRwHB2I7ih8ciHFxIkd/3Omk5tCDV1t+2nNu5sxxpDFNx+huNhVT3` &&  `/zMDz8usXC3ddaHBj1GHj/As08fwTS7Kt1HBTmyN29vdwAw+/wbwLVOJ3uAD1wi/dUH7Qei66PfyuRj4Ik9is+hglfbkbfR3cnZm7chlUWLdwmprtCohX4HUtlOcQj` &&  `LYCu+fzGJH2QRKvP3UNz8bWk1qMxjGTOMThZ3kvgLI5AzFfo379UAAAAASUVORK5CYII=`.   client->follow_up_action( val = client->_event_client(  val = client->cs_event-download_b64_file  t_arg = VALUE #( ( lv_content ) ( lv_name ) ) ) ).  ENDCASE.  ENDMETHOD.