Skip to content

Upload

Erlaubt dem Anwender, eine Datei vom Endgerät hochzuladen. Die Datei wird als Daten-URL im Base64-Format an die ABAP-Schicht übergeben und kann z.B. in einem Image angezeigt oder als XSTRING im SAP-System gespeichert werden.

Designer-Attribute

AttributBeschreibungDefault
controlIdEindeutige IDautomatisch generiert
textButton-TextUpload
iconSAP-Iconsap-icon://upload
acceptMIME-Filter (z.B. image/*, application/pdf)
multipleMehrere Dateienfalse
enabledAktivtrue
visibleSichtbartrue
spanS / spanM / spanL / spanXLGrid-Layout12

ABAP-API

Zugriff über me->get_upload( '<controlId>' ).

MethodeZweck
GET_DATALiefert die hochgeladene Datei als data:<mime>;base64,...
GET_FILE_NAMEOriginaler Dateiname
GET_FILE_SIZEDateigröße in Bytes
GET_MIME_TYPEMIME-Typ (z.B. image/png)
INITDaten leeren

Geerbte Methoden: siehe Control.

Beispiel: /mobbuild/cl_ex_upload

Das Beispiel liest die hochgeladene Datei und zeigt sie in einem Image-Control an:

abap
METHOD on_pai.

  DATA(lo_image)  = me->get_image( 'image' ).
  DATA(lo_upload) = me->get_upload( 'uploader' ).

  DATA(lv_data_url_base_64) = lo_upload->get_data( ).
  lo_image->set_src( lv_data_url_base_64 ).

ENDMETHOD.

METHOD on_pbo.

  me->init_controls( ).
  me->get_image( 'image' )->set_src( space ).

ENDMETHOD.

Datei im SAP-System speichern

Der Rückgabewert von get_data() ist eine Daten-URL der Form data:<mime>;base64,.... Trennen Sie den Präfix ab und konvertieren Sie den Base64-Anteil mit cl_http_utility=>decode_x_base64() in ein XSTRING. Damit lässt sich die Datei z.B. in einer kundeneigenen Tabelle als BLOB ablegen.

Größenlimit

Da die Datei als Base64-String über den Designer-Channel transportiert wird, sollten Sie ein Limit setzen. Dateien > ~5 MB sind in der Regel nicht praktikabel und sollten alternativ über einen RFC-/oData-Channel hochgeladen werden.

Events im Designer

Kein Backend-Event (on_pai). Die ausgewählte Datei wird intern in den Wert des Controls gelesen (Base64-Daten-URL) und beim nächsten regulären Event/PBO serverseitig ausgewertet.

Nächste Schritte

  • Image – Anzeige hochgeladener Bilder
  • SignaturePad – Bild aus Unterschrift erzeugen