在HTTP响应中发送多个文件

2020-09-07 12:21发布

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

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


专家,

我创建了一个ICF处理程序类,该类将文件从AL11发送到发送者。 事情是它与单个文件,我正在读取二进制格式的数据,并使用set_data将其附加在正文部分,它工作正常。 但是,当我尝试添加多个文件时,无法分别添加2个文件。 我正在使用IF_HTTP_EXTENSION,并且还没有NTW GATEWAY组件。 我也在使用MULTIPART功能,但不要完全了解如何分别添加2个文件。 你能帮我么 ?

//文件1
 server-> response-> set_header_field(name ='Content-Type'value ='multipart/mixed')。
 CONCATENATE'form-data; name =" file";  filename ="'filename + 5(9)'"'INTO lv_header_value。
 server-> response-> set_header_field(name ='content-disposition'value = lv_header_value)。
 服务器->响应-> set_data(data = attach_xstring)。

//文件2
 服务器->响应-> add_multipart()。
 CONCATENATE'form-data; name =" file";  filename ="'filename + 5(9)'"'INTO lv_header_value。
 server-> response-> set_header_field(name ='content-disposition'value = lv_header_value)。
 服务器->响应-> set_data(data = attach_xstring)。


 

致谢

Jyothir Aditya

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

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


专家,

我创建了一个ICF处理程序类,该类将文件从AL11发送到发送者。 事情是它与单个文件,我正在读取二进制格式的数据,并使用set_data将其附加在正文部分,它工作正常。 但是,当我尝试添加多个文件时,无法分别添加2个文件。 我正在使用IF_HTTP_EXTENSION,并且还没有NTW GATEWAY组件。 我也在使用MULTIPART功能,但不要完全了解如何分别添加2个文件。 你能帮我么 ?

//文件1
 server-> response-> set_header_field(name ='Content-Type'value ='multipart/mixed')。
 CONCATENATE'form-data; name =" file";  filename ="'filename + 5(9)'"'INTO lv_header_value。
 server-> response-> set_header_field(name ='content-disposition'value = lv_header_value)。
 服务器->响应-> set_data(data = attach_xstring)。

//文件2
 服务器->响应-> add_multipart()。
 CONCATENATE'form-data; name =" file";  filename ="'filename + 5(9)'"'INTO lv_header_value。
 server-> response-> set_header_field(name ='content-disposition'value = lv_header_value)。
 服务器->响应-> set_data(data = attach_xstring)。


 

致谢

Jyothir Aditya

付费偷看设置
发送
2条回答
SAP小黑
1楼-- · 2020-09-07 13:09

我猜应该是这样的:

服务器->响应-> set_header_field(名称="内容类型"值="多部分/混合")。

 data(entity1)=服务器->响应-> add_multipart()。
 实体1-> set_content_type(file1_mimetype)。
 实体1-> set_data(file1_data)。

 data(entity2)=服务器->响应-> add_multipart()。
 实体2-> set_content_type(file2_mimetype)。
 实体2-> set_data(file2_data)。
 

但是您也可以将2个文件压缩为一个文件,然后将其返回,以避免使用多部分响应。

哎,真难
2楼-- · 2020-09-07 12:58

具有最佳跟踪级别的SMICM跟踪将进行跟踪 整个HTTP请求(请参阅 2351619-如何进行SMICM跟踪?和此博客文章以查看 您应该在跟踪文件中找到的内容)。 如果您不了解某些内容,请在此处粘贴相关部分(当然在附件中)。 一个多部分请求已定义了边界ID(内容类型:multipart/mixed; boundary ="(boundary)"),并且-(boundary)将在每个部分之后重复。

无论如何,我不会 不知道您使用的工具是否能够正确提取零件。 如果您使用浏览器,请阅读以下内容: https://stackoverflow.com/questions/1806228/browser -support-of-multipart-responses

注意:我刚刚做了一个测试,它工作正常(但如果使用浏览器,它将所有内容下载到一个文件中,因此可能仅能正常工作 客户端有一个可以解码响应的程序。

一周热门 更多>