繁体   English   中英

Pentaho HTTP Post multipart/form-data

[英]Pentaho HTTP Post multipart/form-data

我正在尝试使用 HTTP Post 通过传递以下 Header 和 Body 部分来发布数据,

身体:

  1. 一个具有文件路径的图像 URL。 输入为“文件”
  2. JSON 格式的元数据。 输入为“文本”

标题:

内容类型 = 多部分/表单数据

授权 = 承载 5412

这是完整请求的屏幕截图, 在此处输入图片说明

这就是我在 Pentaho 中设置 HTTP Post 任务的方式, 在此处输入图片说明

我在这里使用 REST Client 找到了相关的帖子,但这也没有帮助: Pentaho HTTP Post using JSON

真的很感谢你的帮助。

我认为问题在于“发布文件”并不意味着在请求中包含文件,而是从该文件中获取整个请求。

我不知道数据在Post请求中应如何显示的细节,但是粗略的方法应该是:

  1. 通过“将文件内容加载到二进制”操作将文件名字段传递到“计算器”步骤,以获取二进制类型字段(例如:myimage)
  2. Base64(或其他)使用Javascript步骤对数据进行编码,如下所示:

var encString = new Packages.java.lang.String(Packages.org.apache.commons.codec.binary.Base64.encodeBase64(myimage));

  1. 将其包装在指示编码的某些内容类型字符串中
  2. 在您的请求中包括该字段。

https://jira.pentaho.com/browse/PDI-14743上有一个修补程序,用于在使用Rest Client时启用适当的二进制传输而不是String。

无法使用HTTP控件找到任何解决方案来实现上述功能。 使用了用户定义的Java类控件,并编写了一个自定义Java类使其正常工作。

谢谢,尼罗什

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM