mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 20:32:26 +08:00
Merge pull request #538 from kvtorp/master
Added workaround to loading zero-length files
This commit is contained in:
commit
d0d24f3f48
|
@ -27,12 +27,12 @@ CLASS lcl_zip DEFINITION FINAL.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
CLASS-METHODS file_upload
|
CLASS-METHODS file_upload
|
||||||
RETURNING value(rv_xstr) TYPE xstring
|
RETURNING VALUE(rv_xstr) TYPE xstring
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS unzip_file
|
CLASS-METHODS unzip_file
|
||||||
IMPORTING iv_xstr TYPE xstring
|
IMPORTING iv_xstr TYPE xstring
|
||||||
RETURNING value(rt_files) TYPE ty_files_tt
|
RETURNING VALUE(rt_files) TYPE ty_files_tt
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS normalize_path
|
CLASS-METHODS normalize_path
|
||||||
|
@ -52,11 +52,11 @@ CLASS lcl_zip DEFINITION FINAL.
|
||||||
|
|
||||||
CLASS-METHODS encode_files
|
CLASS-METHODS encode_files
|
||||||
IMPORTING it_files TYPE ty_files_item_tt
|
IMPORTING it_files TYPE ty_files_item_tt
|
||||||
RETURNING value(rv_xstr) TYPE xstring
|
RETURNING VALUE(rv_xstr) TYPE xstring
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS get_message
|
CLASS-METHODS get_message
|
||||||
RETURNING value(rv_message) TYPE string
|
RETURNING VALUE(rv_message) TYPE string
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
ENDCLASS. "lcl_zip DEFINITION
|
ENDCLASS. "lcl_zip DEFINITION
|
||||||
|
@ -342,10 +342,9 @@ CLASS lcl_zip IMPLEMENTATION.
|
||||||
METHOD unzip_file.
|
METHOD unzip_file.
|
||||||
|
|
||||||
DATA: lo_zip TYPE REF TO cl_abap_zip,
|
DATA: lo_zip TYPE REF TO cl_abap_zip,
|
||||||
lv_xstr TYPE xstring,
|
lv_data TYPE xstring.
|
||||||
lt_splice TYPE cl_abap_zip=>t_splice_entries.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_splice> LIKE LINE OF lt_splice,
|
FIELD-SYMBOLS: <ls_zipfile> TYPE cl_abap_zip=>t_file,
|
||||||
<ls_file> LIKE LINE OF rt_files.
|
<ls_file> LIKE LINE OF rt_files.
|
||||||
|
|
||||||
|
|
||||||
|
@ -359,14 +358,13 @@ CLASS lcl_zip IMPLEMENTATION.
|
||||||
lcx_exception=>raise( 'error from zip' ).
|
lcx_exception=>raise( 'error from zip' ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
lt_splice = cl_abap_zip=>splice( iv_xstr ).
|
LOOP AT lo_zip->files ASSIGNING <ls_zipfile>.
|
||||||
|
|
||||||
LOOP AT lt_splice ASSIGNING <ls_splice>.
|
|
||||||
lo_zip->get(
|
lo_zip->get(
|
||||||
EXPORTING
|
EXPORTING
|
||||||
name = <ls_splice>-name
|
name = <ls_zipfile>-name
|
||||||
IMPORTING
|
IMPORTING
|
||||||
content = lv_xstr
|
content = lv_data
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
zip_index_error = 1
|
zip_index_error = 1
|
||||||
zip_decompression_error = 2
|
zip_decompression_error = 2
|
||||||
|
@ -379,12 +377,12 @@ CLASS lcl_zip IMPLEMENTATION.
|
||||||
|
|
||||||
filename(
|
filename(
|
||||||
EXPORTING
|
EXPORTING
|
||||||
iv_str = <ls_splice>-name
|
iv_str = <ls_zipfile>-name
|
||||||
IMPORTING
|
IMPORTING
|
||||||
ev_path = <ls_file>-path
|
ev_path = <ls_file>-path
|
||||||
ev_filename = <ls_file>-filename ).
|
ev_filename = <ls_file>-filename ).
|
||||||
|
|
||||||
<ls_file>-data = lv_xstr.
|
<ls_file>-data = lv_data.
|
||||||
|
|
||||||
<ls_file>-sha1 = lcl_hash=>sha1( iv_type = gc_type-blob
|
<ls_file>-sha1 = lcl_hash=>sha1( iv_type = gc_type-blob
|
||||||
iv_data = <ls_file>-data ).
|
iv_data = <ls_file>-data ).
|
||||||
|
|
Loading…
Reference in New Issue
Block a user