POST来自SAP Cloud Platform,ABAP环境的一部分

2020-08-17 18:34发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在尝试使用SAP Cloud Platform ABAP环境将PDF文档内容发布到AWS S3。 我在执行相同操作时遇到了几个问题。 以下是我要实现的步骤。

1。 使用能够成功实现的GET方法从S3中阅读文档。 现在,我的响应中包含PDF内容(response-> get_binary()和response-> get_text())。

2。 尝试将相同的文档内容过帐到S3。 这是我面临的一些挑战。 根据API文档,上传所需的参数是"身份验证","路径"和"文件"(formdata)。

我需要使用多部分传递文件内容。

基本上,我正在尝试达到与 /img/questions/12637207/abap---rest-service-consumption---post-multipart-o.html

任何指针都将非常有帮助。

谢谢

Kishore。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在尝试使用SAP Cloud Platform ABAP环境将PDF文档内容发布到AWS S3。 我在执行相同操作时遇到了几个问题。 以下是我要实现的步骤。

1。 使用能够成功实现的GET方法从S3中阅读文档。 现在,我的响应中包含PDF内容(response-> get_binary()和response-> get_text())。

2。 尝试将相同的文档内容过帐到S3。 这是我面临的一些挑战。 根据API文档,上传所需的参数是"身份验证","路径"和"文件"(formdata)。

我需要使用多部分传递文件内容。

基本上,我正在尝试达到与 /img/questions/12637207/abap---rest-service-consumption---post-multipart-o.html

任何指针都将非常有帮助。

谢谢

Kishore。

付费偷看设置
发送
1条回答
d56caomao
1楼-- · 2020-08-17 18:42

你好Kishore,

目前,对于多部分POST请求,请使用以下解决方法:

 DATA(lo_dest)= cl_http_destination_provider => create_by_url(i_url ='')。
 DATA(lo_http_client)= cl_web_http_client_manager => create_by_http_destination(i_destination = lo_dest)。
 DATA(lo_request)= lo_http_client-> get_http_request()。
 DATA(lv_file_name)='myFile2.pdf'。
 DATA(lv_file_content)=''。
 DATA(lv_file_type)='应用程序/pdf'。
 DATA(lv_boundary)='斑点'。

 lo_request-> set_header_field(i_name ='Authorization'i_value ='')。
 lo_request-> set_header_field(i_name ='Content-Type'i_value = | multipart/form-data; boundary = {lv_boundary} |)。

 DATA(lv_body)= |-{lv_boundary} \ r \ n |  &&
                 | content-disposition:表单数据;  name =" {lv_file_name}";  filename =" {lv_file_name}" \ r \ n |  &&
                 |内容类型:{lv_file_type} \ r \ n |  &&
                 | \ r \ n |  &&
                 | {lv_file_content} \ r \ n |  &&
                 |-{lv_boundary}-|。

 lo_request-> set_text(lv_body)。
 lo_request-> set_form_field(i_name ='path'i_value = |/myDirectory/{lv_file_name} |)。

 DATA(lo_post_response)= lo_http_client-> execute(i_method = if_web_http_client => post)。
 

最诚挚的问候,

彼得

一周热门 更多>