ABAP-REST服务使用-POST多部分对象

2020-08-19 03:22发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 在ABAP中,有没有人举...

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

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


你好

在ABAP中,有没有人举过使用分段上传文件的示例?

现在,我的代码大致是这样的:

数据:http_client类型引用为if_http_client,
           rest_client类型参考cl_rest_http_client,
           网址类型字符串。

     url = c_aws_url_post。

     将request_uri中的" {name}"替换为i_bucket_name。

     cl_http_client => create_by_url(
       出口
         网址=网址
         proxy_host ='xxxxxxxxx'
         proxy_service ='xxxx'"端口号
       输入
         客户端= http_client
       例外情况
         arguments_not_found = 1
         plugin_not_active = 2
         internal_error = 3
         其他= 4
     )。
 ........

   创建对象rest_client
       出口
         io_http_client = http_client。

    http_client-> request-> set_version(if_http_request => co_protocol_version_1_1)。

    cl_http_utility => set_request_uri(
       出口
         请求= http_client->请求
         uri =网址
     )。

    数据(rest_entity)= rest_client-> if_rest_client〜create_request_entity(iv_multipart = abap_true)。

    rest_entity-> set_binary_data(image)。  "图像是一个xstring

    rest_entity-> set_content_type(
       出口
          iv_media_type = if_rest_media_type => gc_multipart_form_data
    )。
    rest_entity-> set_header_field(
       出口
          iv_name = if_http_header_fields => content_disposition
          iv_value ='表单数据;  name ="文件";  filename =" adasd.jpg"'
     )。
        
     rest_entity-> set_header_field(
        出口
           iv_name = if_http_header_fields => content_type"标头名称
           iv_value ='image/jpeg'"标头值
     )。

     rest_client-> if_rest_client〜post(io_entity = rest_entity)。

     lo_response = rest_client-> if_rest_client〜get_response_entity()。

     data(http_status)= lo_response-> get_header_field('〜status_code')。
    
    data(response_string)= lo_response-> get_string_data()。

 

现在状态为500,我收到消息"当前请求不是多部分请求"。

我已经检查了其他SCN线程和文档(在这个主题上不是很好。官方文档提到了CL_REST_MP_FORM_DATA类;在我的系统中,我有CL_REST_MULTIPART_FORM_DATA;两个文档都没有足够的文档...)。

如果有人可以提供帮助,我将不胜感激。

干杯

塞尔吉奥