Image aus DB-Tabelle in WDA anzeigen

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

ABAP Web Dynpro, BusinessServerPages; Erstellung von Webapplikationen.
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

Image aus DB-Tabelle in WDA anzeigen

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hallo Experten,

ich versuche gerade eine Bilddatei (JPG), die über die Dienste zum Objekt angehangen wurde in meiner WDA anzeigen zu lassen.
Dazu hole ich mir erst über den FuBa "SO_DOCUMENT_READ_API1" die Datentabelle. Anschließend fasse ich diese Tabelle als einen xstring zusammen und lasse daraus mit dem FuBa "RSFO_XSTRING TO MIME" meinen xstring als mime erstellen. Abschließend nutze ich diese Tabelle um mittels FuBa "DP_CREATE_URL" eine bild-URL ausgeben zu lassen. Diese url binde ich dann an den Context und das UI-Element Image hat dann die URL als Source angelegt bekommen.
Die FuBa's laufen scheinbar ohne Fehler durch, denn ich bekomme auch eine Bild-URL. Allerdings sehe ich in meiner WDA nichts. nicht mal das berühmte Kreuz für eine nicht anzeigbare Datei.
Hatte schonmal jemand das gleiche Problem? Oder weiß jemand woran das liegt und wie man es behebt? Ich hoffe auf eure Hilfe, da ich mit googlen und lesen einfach nicht weiterkomme. habe schon soviel probiert und nichts scheint zu funktionieren.
Gruß,
der Matze

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Image aus DB-Tabelle in WDA anzeigen

Beitrag von Tobias85 (ForumUser / 34 / 3 / 1 ) »
ich habe das mit nem HTTP-Response realisiert, wenn du nen XString sollte das auch funktionieren.
Das Problem hierbei ist aber, dass die URL nach ner Zeit verfällt und das Bild nicht mehr angezeigt wird bzw das berühmte Kreuz sehe

Code: Alles auswählen.

*Create the cached response object that we will insert our content into
    CREATE OBJECT cached_response
      TYPE
        cl_http_response
      EXPORTING
        add_c_msg        = 1.

****set the data and the headers

    CONCATENATE 'image/' wd_comp_controller->gv_file_format INTO lv_file_format. "erstellte Bild-URL

    cached_response->set_data( lv_content ). "XSTRING
    cached_response->set_header_field( name  = if_http_header_fields=>content_type
                                        value = lv_file_format ).
    cached_response->set_status( code = 200 reason = 'OK' ).
    cached_response->server_cache_expire_rel( expires_rel = 300 ).

Re: Image aus DB-Tabelle in WDA anzeigen

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hallo Tobias,

an welcher Stelle müsste ich das in meiner Logik einbinden?
Und was steht in der gv_file_format?
Und was muss in content_type stehen?
Gruß,
der Matze

Re: Image aus DB-Tabelle in WDA anzeigen

Beitrag von Tobias85 (ForumUser / 34 / 3 / 1 ) »
1. eigentlich direkt nachdem du deinen XString "gebastelt" hast. Erstellst du den aus Binärdaten?

2. gv_file_format ist einfach ein GUID (Globally Unique Identifier), da ich mir damit auch meine IDs der Link-To-Action kennzeichne.

3. bei content_type habe ich nicht weiter angegeben.

Re: Image aus DB-Tabelle in WDA anzeigen

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hallo Tobias,

irgendwie komme ich nicht weiter.
ich bekomme mit SO_DOCUMENT_READ_API1 eine raw-tabelle, die ich als XString bastel. Nutze ich schon diesen xstring? Denn mit RSFO_XSTRING TO MIME bekomme ich den xstring als mime-xstring (wenn ich das richtig verstanden habe).
Die Sache mit dem GUID habe ich auch irgendwie noch nicht verstanden, wozu ich das brauche...
Hast du vllt. einen quellcode für mich, um mir das etwas anschaulicher zu erläutern?!
Gruß,
der Matze

Re: Image aus DB-Tabelle in WDA anzeigen

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hi, also ich habe jetzt dann doch verstanden wo meine Fehler waren.

ich habe nun den ersten xstring an meine View übergeben und lasse dort eine http-response erstellen und binde dann die URL an das Image-UI-Element.

Für die, die es interessiert: folgender Code erstellt die URL, welche an die Source des UI-Elementes gebunden werden muss:

Code: Alles auswählen.

        DATA:url TYPE string,
        guid TYPE guid_32,
        cached_response TYPE REF TO if_http_response.

        CREATE OBJECT cached_response
          TYPE
            cl_http_response
          EXPORTING
            add_c_msg        = 1.

* set image to mime
        cached_response->set_data( lv_xstring ).
        cached_response->set_header_field(
        name = if_http_header_fields=>content_type
        value = 'image/pjpeg' ).

        cached_response->set_status( code = 200 reason = 'OK' ).
        cached_response->server_cache_expire_rel( expires_rel =
        180 ).

        CALL FUNCTION 'GUID_CREATE'
          IMPORTING
            ev_guid_32 = guid.

        cl_wd_utilities=>construct_wd_url( EXPORTING
        application_name = 'YRS_TEST1' "Webdynpro application name
        IMPORTING out_local_url = url ).

        CONCATENATE url '/' guid sy-uzeit INTO url.
        cl_http_server=>server_cache_upload(
        url = url
        response = cached_response ).
Gruß,
der Matze

Seite 1 von 1

Vergleichbare Themen

0
Antw.
3985
Views
17
Antw.
7119
Views
TV Image
von Seguro » 24.01.2006 10:20 • Verfasst in Web-Dynpro, BSP + BHTML
14
Antw.
6936
Views
PDF in einer Tabelle anzeigen
von sebo » 29.03.2012 11:36 • Verfasst in ABAP® Core
4
Antw.
687
Views
Tabelle anzeigen mit FuBa?
von Nion » 31.03.2023 08:51 • Verfasst in ABAP® für Anfänger
12
Antw.
3317
Views
Alle internen Tabelle anzeigen
von Paul » 03.07.2018 13:45 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 35 Minuten von black_adept gelöst 27 / 3948
IT0024 Qualifikationen CP-ID
vor 2 Stunden von ArjenR 1 / 26
Trennen Strasse und Hausnummer
vor 2 Stunden von ewx 17 / 10831

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 35 Minuten von black_adept gelöst 27 / 3948
IT0024 Qualifikationen CP-ID
vor 2 Stunden von ArjenR 1 / 26
Trennen Strasse und Hausnummer
vor 2 Stunden von ewx 17 / 10831

Unbeantwortete Forenbeiträge

IT0024 Qualifikationen CP-ID
vor 2 Stunden von ArjenR 1 / 26
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2965
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9554