将文件发送到snaplogic上的REST POST快照上的api端点时,如何解决错误400“找不到文件”?

时间:2018-12-20 04:44:25

标签: post snaplogic

我正尝试通过 REST POST快照将快照文件中的csv文件发送到api端点,但是它似乎并未实际发送文件,因为响应显示 file not找到

当我通过邮递员发布帖子时,一切都很好,并使用了我在快照中使用的相同信息

我在POST快照中的设置如下:

  • 标签* = REST发布服务URL * = { http://(ip:port)/v1/innovazones HTTP

  • 实体=(空白)批处理大小=(空白)显示所有标题(已选择)单个

  • 文件上传:File =…/ shared / TEMPcsv.csv单个文件上传:File

  • key =文件单个文件上传:要使用的文件名= innovaZones_csv_file

  • 上传传输请求类型=计算内容长度上传正文

  • type =多部分表单数据单个文件上传:多部分Content-Type = text / csv

  • HTTP标头:

  • 键=内容类型;值=应用程序/ x-www-form-urlencoded

  • key =授权值=“承载” + account.access_token

  • 信任所有证书*(选中)遵循重定向*(选中)

我应该收到此消息:

{
    "status": "success",
    "message": "Data transmitted successfully",
    "payload": {}
}

但是我在响应中得到了这个

  

“错误”:“ REST API服务端点返回了错误结果:状态代码= 400,原因短语=错误的请求”

"error_entity": {
    "status":"fail",
    "message":"File not found",
    "payload":{
         "message":"File not found",
         "statusCode":400,
         "status":"fail"
    }
 }
  

“原始”:{文件名:../ shared / TEMPcsv.csv,结果:已覆盖,原始:{,...}}

     

“文件名”:“ ../ shared / TEMPcsv.csv”

     

“结果”:“已覆盖”

1 个答案:

答案 0 :(得分:0)

您尚未添加要上传的实际文件。您只需设置文件名。

根据SnapLogic文档-

  

单个文件上传:要使用的文件名

     

如果要上传文件,则可以配置此属性,在此字段中输入的值将被视为要上传文件的名称。您可以通过将该属性保留为空白来保留原始文件名。

您还需要做的是在上传文件部分中指向要上传的实际文件。

同样,来自SnapLogic文档-

  

上传文件

     

列出您要上传的文件的文件密钥和文件名。默认情况下,“设置”弹出窗口显示上传单个文件所需的字段。单击+按钮将新行添加到此字段集。对于要上传的每个文件,您需要指定上传文件密钥,位置和名称,目标目录中文件的名称以及与要上传的文件相关联的多部分内容类型

请参考-SnapLogic Docs - REST POST