2017-10-08 73 views
1

从Postman我正在发布到我的逻辑应用程序。我发送以下内容:如何解析表单数据触发器中的文件名

{ 
    "headers": { 
     "Cache-Control": "no-cache", 
     "Connection": "keep-alive", 
     "Accept": "*/*", 
     "Accept-Encoding": "gzip,deflate", 
     "Host": "prod-24.centralus.logic.azure.com:443", 
     "User-Agent": "PostmanRuntime/6.4.0", 
     "Postman-Token": "19018057-41ef-4f96-a3a1-cdbf0a1918bc", 
     "Content-Length": "486", 
     "Content-Type": "multipart/form-data; boundary=--------------------------117388521639837767242570" 
    }, 
    "body": { 
     "$content-type": "multipart/form-data; boundary=--------------------------117388521639837767242570", 
     "$content": "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTExNzM4ODUyMTYzOTgzNzc2NzI0MjU3MA0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJzb2Z0d2FyZSI7IGZpbGVuYW1lPSJmaWxlLnppcCINCkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vemlwDQoNClBLAwQUAAAACACZVEhLillatwgAAAAGAAAACAAAAGZpbGUudHh0K0ktLslNBQBQSwECHwAUAAAACACZVEhLillatwgAAAAGAAAACAAkAAAAAAAAACAAAAAAAAAAZmlsZS50eHQKACAAAAAAAAEAGADAJqtCS0DTATYTq0JLQNMBlyUeQktA0wFQSwUGAAAAAAEAAQBaAAAALgAAAAAADQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tMTE3Mzg4NTIxNjM5ODM3NzY3MjQyNTcwDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9ImRldmljZUlkIg0KDQpzMTIzNDUNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0xMTczODg1MjE2Mzk4Mzc3NjcyNDI1NzAtLQ0K", 
     "$multipart": [ 
      { 
       "headers": { 
        "Content-Disposition": "form-data; name=\"software\"; filename=\"file.zip\"", 
        "Content-Type": "application/zip" 
       }, 
       "body": { 
        "$content-type": "application/zip", 
        "$content": "UEsDBBQAAAAIAJlUSEuKWVq3CAAAAAYAAAAIAAAAZmlsZS50eHQrSS0uyU0FAFBLAQIfABQAAAAIAJlUSEuKWVq3CAAAAAYAAAAIACQAAAAAAAAAIAAAAAAAAABmaWxlLnR4dAoAIAAAAAAAAQAYAMAmq0JLQNMBNhOrQktA0wGXJR5CS0DTAVBLBQYAAAAAAQABAFoAAAAuAAAAAAA=" 
       } 
      }, 
      { 
       "headers": { 
        "Content-Disposition": "form-data; name=\"deviceId\"" 
       }, 
       "body": { 
        "$content-type": "application/octet-stream", 
        "$content": "czEyMzQ1" 
       } 
      } 
     ] 
    } 
} 

我想获取文件名的值和文件的内容。 我将要创建的Blob文件

感谢,

回答

1

以下是我正在做。我假设你正在使用HTTP触发器设置为POST。在HTTP触发器添加一个Foreach连接器之后,如果您正在执行多文件上传,则可以遍历所有文件。

在foreach来源将是这个表达式: triggerOutputs().body['$multipart']

内的foreach你可以用这个丑陋的表达,这是非常糟糕的解析文件名,但它的工作原理: replace(replace(item().headers['Content-Disposition'], 'form-data; name="myFileUploadInput"; filename="', ''), '"', '')

AFAIK有没有正则表达式的支持在表达式中,这会更好。你可能可以用substring做一些事情,但它也可能非常难看。

下面是你如何获得在foreach中的身体保存到blob存储:item().body

相关问题