4月7日PowerApps升级后iOS/Android端上传功能故障问询
Hey Chris, I feel your pain—nothing’s worse than a rock-solid app breaking right after an update. Let’s walk through targeted fixes for the Contract Failure: Construction of a PABinary should always result in a valid insta... error you’re hitting when uploading via your custom connector:
Common Fixes to Try
Validate your custom connector’s binary data setup
This error ties directly to how PowerApps handles binary data (your photos, in this case). Head to the Power Apps Maker Portal, open your custom connector, and check the upload operation:- Make sure the parameter accepting the photo is marked as a binary data type (not text/string).
- If you previously wrapped the image in JSON or converted it to base64, remove that step—newer mobile versions enforce stricter binary validation that rejects these wrapped formats.
Test the connector directly (bypass the app)
Use the connector editor’s built-in test tool to upload a local image file. If the test succeeds, the issue is in how your app passes the camera image to the connector. Simplify the upload logic: passCamera1.Imagedirectly to the connector’s upload action (skip any intermediate transformations likeJSON()that mangle the binary data).Adjust image formatting in your app
If direct passing fails, explicitly convert the camera output to a valid binary type before upload using theBinary()function. Example:YourCustomConnector.UploadAction(Binary(Camera1.Image), YourPropertyValues)This ensures the data is formatted as a valid PABinary instance that meets the update’s stricter rules.
Check your Flow’s input configuration
If your connector routes to a Flow, confirm the PowerApps trigger has the image input set to File Content type. Outdated Flow setups might not handle the updated binary format from the new PowerApps mobile app, triggering the contract failure.Temporary rollback (if feasible)
For Android, install an older PowerApps APK (from trusted sources like APKMirror) to confirm if the issue is specific to the April 7th update. On iOS, if you have the old version saved in your Apple Developer account, deploy it temporarily. If the app works on the old version, submit a support ticket to Microsoft with your error details and reproduction steps—this is likely a regression in the mobile update.
Error Reference
Contract Failure: Construction of a PABinary should always result in a valid insta...
内容的提问来源于stack exchange,提问作者Chris

