使用 ABAP 手动解析包含二进制文件的 multipart/form-data 数据时遇到的问题

文章标题:使用 ABAP 手动解析包含二进制文件的 multipart/form-data 数据时遇到的问题

上下文:参考这篇文章:不使用任何框架,手写纯 JavaScript 实现上传本地文件到 ABAP 服务器。

客户端代码:


Upload the file!

服务器端解析出 content-type:


我上传的 PDF 大小为 30129 字节:

CString 和 XString 的大小:

包含了 PDF 和 Excel 数据的 multipart/form-data 数据:

下图调试器里显示内容,红色高亮区域为包含 PDF 的这一块数据的描述信息,绿色高亮区域为 PDF 的实际内容。

我采用字符串拼接的方式,将下图 PDF 的实际内容取出,转换成 XSTRING 格式的数据,另存到本地,发现转换过程出现了错误:

大小都发生了变化:


用文本编辑器打开 PDF 文件查看源代码,下图是原始文件:


下图是 ABAP 服务器接收后再另存到本地的 PDF,可以看到 stream 区域内容明显有区别:


更多Jerry的原创文章,尽在:"汪子熙":


你可能感兴趣的:(使用 ABAP 手动解析包含二进制文件的 multipart/form-data 数据时遇到的问题)