DATA: BEGIN OF itab OCCURS 0,
field(256),
END OF itab.
DATA:
dsn(100) VALUE '/usr/sap/DEV/PIC/***********',"服务器路径
length LIKE sy-tabix.
DATA lv_content TYPE xstring.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = 'F:\DESKTOP\*******' "本地路径
filetype = 'BIN'
IMPORTING
filelength = length
TABLES
data_tab = itab.
CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
EXPORTING
input_length = length
IMPORTING
buffer = lv_content
TABLES
binary_tab = itab[]
EXCEPTIONS
failed = 1
OTHERS = 2.
OPEN DATASET dsn FOR OUTPUT IN BINARY MODE.
TRANSFER lv_content TO dsn.
CLOSE DATASET dsn.
WRITE:lv_content.
DATA: lv_url TYPE char255.
DATA: lv_content TYPE xstring.
DATA: lv_repid TYPE sy-repid.
DATA: lt_data TYPE STANDARD TABLE OF x255.
DATA: lo_docking TYPE REF TO cl_gui_docking_container.
DATA: lo_picture TYPE REF TO cl_gui_picture.
DATA: p_path TYPE string VALUE '/usr/sap/DEV/PIC/*******'.
PARAMETERS: p_check.
AT SELECTION-SCREEN OUTPUT.
* Create controls
CREATE OBJECT lo_docking
EXPORTING
repid = lv_repid
dynnr = sy-dynnr
side = lo_docking->dock_at_left
extension = 200.
CREATE OBJECT lo_picture
EXPORTING
parent = lo_docking.
* Read it from application server
OPEN DATASET p_path FOR INPUT IN BINARY MODE.
READ DATASET p_path INTO lv_content .
CLOSE DATASET p_path.
* Convert
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = lv_content
TABLES
binary_tab = lt_data.
* CReate URL
CALL FUNCTION 'DP_CREATE_URL'
EXPORTING
type = 'IMAGE'
subtype = 'JPG'
TABLES
data = lt_data
CHANGING
url = lv_url.
* Load picture from URL
lo_picture->load_picture_from_url_async( lv_url ).