如何解决从 PowerApp 解析 Flow 中的 JSON 操作失败
我有一个非常基本的 Power App,输入字段和上传图片很少。 Submit 上的应用程序调用流,然后将提交详细信息传递给 Salesforce。这工作正常,但是当用户不上传图像时,流程会像
一样失败 Parse_JSON Failed -- "message": "Invalid type. Expected String but got Null.",
提交按钮逻辑就像
Set(varFileExt,Right(AddImageButton.FileName,3));
Clear( FormInfo );
Collect(FormInfo,{
idOrNameDetail : IdOrNameDetails.Text,projectGUID: GUID(),picUri: AddedImage.Image,picFilename:
If(
AddImageButton.FileName = "image.jpg",Concatenate(
Text(Now(),"[$-en-US]yyyy-mm-dd_hhmmss"),".jpg"
),AddImageButton.FileName
),fileExtension: varFileExt,picJSON:
If(
Or(
Lower(varFileExt) = "jpg",Lower(varFileExt) = "jpeg"
),Mid(JSON(AddedImage.Image,IncludeBinaryData),25,Len(JSON(AddedImage.Image,IncludeBinaryData)) - 25),Lower(varFileExt) = "png",24,IncludeBinaryData)) - 24)
)
}
);
Set(FormObj,JSON(FormInfo,IncludeBinaryData));
SFIncidentCreation.Run(FormObj);
Reset(IdOrNameDetails);
Reset(AddImageButton);
如何编写 JSON 检查图像是否添加。非常感谢任何帮助
解决方法
我假设您尝试只保存一条记录,在这种情况下,使用 Cotext 变量比使用集合更好。
UpdateContext({ myData: {
idOrNameDetail : IdOrNameDetails.Text,projectGUID: GUID(),picUri: AddedImage.Image,picFilename: If(
AddImageButton.FileName = "image.jpg",Concatenate(Text(Now(),"[$-en-US]yyyy-mm-dd_hhmmss"),".jpg"),AddImageButton.FileName
),fileExtension: Right(AddImageButton.FileName,3),picJSON: If(
Or(Lower(varFileExt) = "jpg",Lower(varFileExt) = "jpeg"),Mid(
JSON(AddedImage.Image,IncludeBinaryData),25,Len(JSON(AddedImage.Image,IncludeBinaryData)) - 25
),Lower(varFileExt) = "png",24,IncludeBinaryData)) - 24
)
)
}
});
Set(FormObj,JSON(myData));
SFIncidentCreation.Run(FormObj);
Reset(IdOrNameDetails);
Reset(AddImageButton);
,
几个想法:
- 从
picJSON
架构中删除required
作为Parse_JSON
字段 - 在检查字段是否为空的
Parse_JSON
操作之前放置一个条件,然后执行适当的操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。