- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 azure 逻辑应用程序中,我想保存以 json 字符串中的 url 形式给出的图像。它们应该保存在共享点文件夹中。 json 字符串很长,但缩短后看起来有点像这样:
{"id":"123","Person":{"Name":"Testmann","Firstname":"Tim"},"Timestamp":"2023-03-22T20:16:04.663252+01 :00","Tree":{"fileId":"123","fileName":"Tree_2023_03_22_19_16_09.png","timestamp":"2023-03-22T19:16:09.082243Z","contentType":"图片/png","size":123,"url":"https://path"}}
在此示例中,蒂姆·泰斯特曼 (Tim Testmann) 在特定时间拍摄了一棵树的照片。该字符串可以包含多个图像,例如树的根部,不知道会提前出现多少个图像。
有人知道如何将图像保存在sharepoint中吗?人们可能必须首先从字符串中提取所有图像。
非常感谢您的帮助!非常感谢任何帮助。
编辑:
实际的 json 看起来更像下面的版本。有一般信息以及相同 json 类型的多个图像。如何只提取图像并将每张图像保存在共享点中?再次感谢!
{"id":"123","Person":{"Name":"Testmann","Firstname":"Tim"},"Timestamp":"2023-03-22T20:16:04.663252+01 :00","Tree1":{"fileId":"123","fileName":"Tree_2023_03_22_19_16_09.png","时间戳":"2023-03-22T19:16:09.082243Z","contentType":"图片/png","size":63865,"url":"https://path"},"Tree2":{"fileId":"1234","fileName":"Tree2_2023_03_22_19_16_09.png","时间戳": "2023-03-22T19:16:09.082243Z","contentType":"image/png","size":63865,"url":"https://path2","Tree3":{"fileId": “12345”,“文件名”:“Tree3_2023_03_22_19_16_09.png”,“时间戳”:“2023-03-22T19:16:09.082243Z”,“contentType”:“image/png”,“大小”:63865,“url” :“https://path3”}}
最佳答案
从我这边复制后,我可以按照以下步骤实现您的要求。
为了演示目的,我使用了下面的 Json 来获取示例图像 URL。
{
"id": "123",
"Person": {
"Name": "Testmann",
"Firstname": "Tim"
},
"Timestamp": "2023-03-22T20:16:04.663252+01:00",
"Tree": {
"fileId": "123",
"fileName": "Tree_2023_03_22_19_16_09.png",
"timestamp": "2023-03-22T19:16:09.082243Z",
"contentType": "image/png",
"size": 123,
"url": "https://www.thewowstyle.com/wp-content/uploads/2015/02/now-i-am-free.jpg"
}
}
下面是我的逻辑应用程序的完整流程
下面是我的逻辑应用的解析 json 操作架构
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"Person": {
"type": "object",
"properties": {
"Name": {
"type": "string"
},
"Firstname": {
"type": "string"
}
}
},
"Timestamp": {
"type": "string"
},
"Tree": {
"type": "object",
"properties": {
"fileId": {
"type": "string"
},
"fileName": {
"type": "string"
},
"timestamp": {
"type": "string"
},
"contentType": {
"type": "string"
},
"size": {
"type": "integer"
},
"url": {
"type": "string"
}
}
}
}
}
结果:
这可以使用Json Properties to Name Value Pair Array
操作来完成。您可以执行以下操作来实现您的要求。
True block 内的流动
结果:
我的逻辑应用的代码 View
{
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"For_each": {
"actions": {
"Compose_2": {
"inputs": "@items('For_each')",
"runAfter": {},
"type": "Compose"
},
"Condition": {
"actions": {
"Create_file": {
"inputs": {
"body": "@body('HTTP')",
"host": {
"connection": {
"name": "@parameters('$connections')['sharepointonline']['connectionId']"
}
},
"method": "post",
"path": "/datasets/@{encodeURIComponent(encodeURIComponent('https://<>.sharepoint.com/<>/<>'))}/files",
"queries": {
"folderPath": "/Shared Documents/urlImages",
"name": "@{items('For_each')['propertyValue'][1]['propertyValue']}",
"queryParametersSingleEncoded": true
}
},
"runAfter": {
"HTTP": [
"Succeeded"
]
},
"runtimeConfiguration": {
"contentTransfer": {
"transferMode": "Chunked"
}
},
"type": "ApiConnection"
},
"HTTP": {
"inputs": {
"method": "GET",
"uri": "@{items('For_each')['propertyValue'][5]['propertyValue']}"
},
"runAfter": {},
"type": "Http"
}
},
"expression": {
"and": [
{
"not": {
"equals": [
"@items('For_each')['propertyName']",
"id"
]
}
},
{
"not": {
"equals": [
"@items('For_each')['propertyName']",
"Person"
]
}
},
{
"not": {
"equals": [
"@items('For_each')['propertyName']",
"Timestamp"
]
}
}
]
},
"runAfter": {
"Compose_2": [
"Succeeded"
]
},
"type": "If"
}
},
"foreach": "@body('Json_Properties_to_Name_Value_Pair_Array')",
"runAfter": {
"Json_Properties_to_Name_Value_Pair_Array": [
"Succeeded"
]
},
"type": "Foreach"
},
"Json_Properties_to_Name_Value_Pair_Array": {
"inputs": {
"body": {
"data": "@json(triggerBody())"
},
"host": {
"connection": {
"name": "@parameters('$connections')['advanceddataoperatio_1']['connectionId']"
}
},
"method": "post",
"path": "/JsonPropertiesToNameValuePairArray"
},
"runAfter": {},
"type": "ApiConnection"
}
},
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {
"$connections": {
"defaultValue": {},
"type": "Object"
}
},
"triggers": {
"manual": {
"inputs": {
"schema": {}
},
"kind": "Http",
"type": "Request"
}
}
},
"parameters": {
"$connections": {
"value": {
"advanceddataoperatio_1": {
"connectionId": "/subscriptions/<subid>/resourceGroups/<rg>/providers/Microsoft.Web/connections/advanceddataoperatio-1",
"connectionName": "advanceddataoperatio-1",
"id": "/subscriptions/<subid>/providers/Microsoft.Web/locations/eastus/managedApis/advanceddataoperatio"
},
"sharepointonline": {
"connectionId": "/subscriptions/<subid>/resourceGroups/<rg>/providers/Microsoft.Web/connections/sharepointonline",
"connectionName": "sharepointonline",
"id": "/subscriptions/<subid>/providers/Microsoft.Web/locations/eastus/managedApis/sharepointonline"
}
}
}
}
}
关于azure - 在azure逻辑应用程序中如何从json字符串中提取图像并将其保存在sharepoint中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76165152/
如何使用 SPListCollection.Add(String, String, String, String, Int32, String, SPListTemplate.QuickLaunchO
我刚刚开始使用 C++ 并且对 C# 有一些经验,所以我有一些一般的编程经验。然而,似乎我马上就被击落了。我试过在谷歌上寻找,以免浪费任何人的时间,但没有结果。 int main(int argc,
这个问题已经有答案了: In Java 8 how do I transform a Map to another Map using a lambda? (8 个回答) Convert a Map>
我正在使用 node + typescript 和集成的 swagger 进行 API 调用。我 Swagger 提出以下要求 http://localhost:3033/employees/sear
我是 C++ 容器模板的新手。我收集了一些记录。每条记录都有一个唯一的名称,以及一个字段/值对列表。将按名称访问记录。字段/值对的顺序很重要。因此我设计如下: typedef string
我需要这两种方法,但j2me没有,我找到了一个replaceall();但这是 replaceall(string,string,string); 第二个方法是SringBuffer但在j2me中它没
If string is an alias of String in the .net framework为什么会发生这种情况,我应该如何解释它: type JustAString = string
我有两个列表(或字符串):一个大,另一个小。 我想检查较大的(A)是否包含小的(B)。 我的期望如下: 案例 1. B 是 A 的子集 A = [1,2,3] B = [1,2] contains(A
我有一个似乎无法解决的小问题。 这里...我有一个像这样创建的输入... var input = $(''); 如果我这样做......一切都很好 $(this).append(input); 如果我
我有以下代码片段 string[] lines = objects.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.No
这可能真的很简单,但我已经坚持了一段时间了。 我正在尝试输出一个字符串,然后输出一个带有两位小数的 double ,后跟另一个字符串,这是我的代码。 System.out.printf("成本:%.2
以下是 Cloud Firestore 列表查询中的示例之一 citiesRef.where("state", ">=", "CA").where("state", "= 字符串,我们在Stack O
我正在尝试检查一个字符串是否包含在另一个字符串中。后面的代码非常简单。我怎样才能在 jquery 中做到这一点? function deleteRow(locName, locID) { if
这个问题在这里已经有了答案: How to implement big int in C++ (14 个答案) 关闭 9 年前。 我有 2 个字符串,都只包含数字。这些数字大于 uint64_t 的
我有一个带有自定义转换器的 Dozer 映射: com.xyz.Customer com.xyz.CustomerDAO customerName
这个问题在这里已经有了答案: How do I compare strings in Java? (23 个回答) 关闭 6 年前。 我想了解字符串池的工作原理以及一个字符串等于另一个字符串的规则是
我已阅读 this问题和其他一些问题。但它们与我的问题有些无关 对于 UILabel 如果你不指定 ? 或 ! 你会得到这样的错误: @IBOutlet property has non-option
这两种方法中哪一种在理论上更快,为什么? (指向字符串的指针必须是常量。) destination[count] 和 *destination++ 之间的确切区别是什么? destination[co
This question already has answers here: Closed 11 years ago. Possible Duplicates: Is String.Format a
我有一个Stream一个文件的,现在我想将相同的单词组合成 Map这很重要,这个词在 Stream 中出现的频率. 我知道我必须使用 collect(Collectors.groupingBy(..)
我是一名优秀的程序员,十分优秀!