Möglichkeit des Uploads von lokaler Platte in BSP

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

WAS, Netweaver®
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

Möglichkeit des Uploads von lokaler Platte in BSP

Beitrag von Neuwolf ( / / 0 / 3 ) »
Hallo zusammen,

erst einmal herzlichen Dank an alle die mir in der Vergangenheit durch ihre kompetenten Antworten das Leben erleichtert haben.

Aber nun zu einem weiteren Problem vor dem ich gerade stehe.
=====

Ich möchte einem externen Partner die Möglichkeit geben, seine Daten die er über eine BSP erfasst hat auch LOKAL auf seiner Platte in Dateiform abzulegen sowie diese Datei bei Bedarf auch wieder in die BSP einzulesen.

Hat Irgendjemand schon mal vor dieser Problematik gestanden und natürlich auch gelöst

Der WAS steht hinter der DMZ
Zugrif auf das Dateisystem dieses Servers ist nicht gegeben
Besteht überhaupt die Möglichkeit

Das Ablegen habe ich bisher so gelöst, dass lokal ein EXCEL-FIle erzeugt wird das dann auf Wunsch (natürlich Funktinalität der EXCEL-Appl.)auch lokal gespeichert werden kann.
Nur wie lese ich diese Datei dann wieder ein

Für Anregungen oder sogar Lösungen (Coding ??!!) wäre ich dankbar

Gruß

Neuwolf

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


Beitrag von Steff (Site Admin / 386 / 0 / 1 ) »
Hi,

zunächst mal zum Problem WAS hinter DMZ. Das heisst, der WAS ist von aussen nicht erreichbar (Internet). Bin zwar kein Sicherheitsexperte, würde aber auch auf jeden Fall genau dazu raten. Für 'aussen' erreichbar sollte ein Webserver stehen mit Reverse-Proxy, der entsprechend requests auf den WAS 'umleitet' und zurück.

Zum Problem mit Dateiupload und Download. Das kann man mit in HTML mit einem entsprechenden input tag lösen (zum Dateiupload). Encoding der Page muss dabei multipart-formdata sein.

Ein gutes Beispiel, wie ein upload und download in einer BSP erfolt ist die Beispielapplikation 'IT00'.

Code: Alles auswählen.

<h2> Form with Method POST and enctype "multipart/form-data"</h2>
<form method="POST" enctype="multipart/form-data">
  <table border=1 width="100%">
Die Datei kann dann im OnInputProcessing entgegengenommen werden und zwar wie folgt:

Code: Alles auswählen.

* file upload and echo
    data: entity         type ref to if_http_entity,
          file           type xstring,
          content_type   type string,
          content_length type string,
          num_multiparts type i,
          i              type i value 1,
          doEcho         type string.

*   find multipart containing file
    num_multiparts = request->num_multiparts( ).
    while i <= num_multiparts.
      entity = request->get_multipart( i ).

      value = entity->get_header_field( '~content_filename' ).
      if not value is initial.
*       found a file!
        navigation->set_parameter( name  = 'content_filename'
                                   value = value ).

        content_type = entity->get_header_field( 'Content-Type' ).
        navigation->set_parameter( name  = 'content_type'
                                   value = content_type ).

*       get file content
        file = entity->get_data( ).

*       get file size
        content_length = xstrlen( file ).
        navigation->set_parameter( name  = 'content_length'
                                   value = content_length ).

*       echo/download the same file again?
        doEcho = request->get_form_field( 'doEcho' ).
        if doEcho is not initial.
*         set response data to be the file content
          runtime->server->response->set_data( file ).
*         set the mime-type and file size in the response
          runtime->server->response->set_header_field(
            name  = 'Content-Type'
            value = content_type ).
          runtime->server->response->set_header_field(
            name  = 'Content-Length'
            value = content_length ).
          runtime->server->response->delete_header_field(
            name = 'Cache-Control' ).
          runtime->server->response->delete_header_field(
            name = 'Expires' ).
        endif.

        exit.
      endif.

      i = i + 1.
    endwhile.

    if doEcho is not initial.
*       signal to the BSP runtime that the response data is
*       complete and no onLayout method should be called to
*       create the response
        navigation->response_complete( ).
    else.
      navigation->goto_page( 'transition_parameter_upload.htm' ).
    endif.

Gruß,
Steff

Seite 1 von 1

Vergleichbare Themen

2
Antw.
2189
Views
Office-Dokument auf die lokale Platte kopieren und öffnen
von McFlower » 28.04.2005 11:50 • Verfasst in ABAP Objects®
2
Antw.
2283
Views
ALV OO / Vorzeichen verschwindet bei lokaler Datei
von Kali » 18.09.2013 09:10 • Verfasst in ABAP Objects®
8
Antw.
6337
Views
Redefinition Methode in lokaler Klasse
von olli-x » 30.01.2007 14:11 • Verfasst in ABAP Objects®
5
Antw.
7150
Views
Komplette Klasse in Lokaler datei sichern
von SwordMaster » 11.04.2007 14:21 • Verfasst in ABAP Objects®
1
Antw.
462
Views
Datei-Browser bei lokaler Speicherung von Excel-Dateien
von cecslucas » 16.09.2019 18:39 • 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

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.