2

我在 Azure 逻辑应用中使用 Http 侦听器和 Http 操作创建了一个工作流。侦听器将捕获 POST 请求,并且 Http 操作包含我的 api 的详细信息,该 api 托管在 azure web 应用程序上。请求是多部分/表单数据类型,并发布一个文件以及其他 3 个字符串值。

我的问题是

  1. 如果我在 Http 操作中将内容类型标头明确设置为 multipart/form-data,它不会将任何边界传递给 api 控制器,并且我的 api 会给出错误“请求被拒绝,因为没有找到多部分边界”。
  2. 如果我试图@triggers().outputs.body.ContentType作为 http 操作的标头传递,则会收到此错误:

{"code":"InvalidTemplate","message":"Unable to process template language expressions in action 'http' input at line '1' and column '11': 'Error conversion value \"multipart/form-data; 边界=----WebKitFormBoundaryi3knGy6dh92BdKdr\" 键入 'Microsoft.WindowsAzure.ResourceStack.Common.Collections.InsensitiveDictionary`1[System.String]'。路径 'headers'.'."}

请帮忙,如何使用 Http 操作将内容类型和边界都传递给我的 api?

4

1 回答 1

0

逻辑应用定义中的标头对象是一个带有键和值的 JSON 对象。具体来说,如果您想像上面那样在代码视图中传递对象定义的内容类型标头,则如下所示:

"MyAction" : {
  "type" : "http",
  "inputs" : {
    "headers" : {
      "Content-type" : "@triggerBody().ContentType"
    },
    "body" : … rest of properties here …

希望这就是您的 API 也没有达到边界的原因。

于 2016-01-19T07:14:53.817 回答