* event handler for data retrieval
DATA lv_string TYPE string.
DATA lv_xstring TYPE xstring.
DATA lv_xlength TYPE i.
DATA lv_name TYPE string .
DATA lv_value TYPE string .
lv_string = '测试数据'.
CALL FUNCTION 'SCMS_STRING_TO_XSTRING'"文本变二进制流
EXPORTING
text = lv_string
* MIMETYPE = ' '
* ENCODING =
IMPORTING
buffer = lv_xstring
* EXCEPTIONS
* FAILED = 1
* OTHERS = 2
.
response->set_header_field( name = 'cache-control'
value = 'max-age=0' ).
response->set_header_field( name = 'content-type'
value = 'text/html; charset=utf-8' ).
lv_name = 'XXXXXXXXXX导入模板'.
***UrlEnCode编码
CALL METHOD cl_http_utility=>escape_url
EXPORTING
unescaped = lv_name
RECEIVING
escaped = lv_name.
CONCATENATE 'attachment;filename=' lv_name '.xml' INTO lv_value .
response->set_header_field( name = 'content-disposition' value = lv_value ).
lv_xlength = xstrlen( lv_xstring ).
response->set_data( data = lv_xstring length = lv_xlength ).
navigation->response_complete( ).
cl_http_utility是个很有用的函数,我们这里用到了他的url编码,不用的话这个地方中文文件名出不来。其他还有一些方法,大家可以参照其描述明白其功能。