Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions packages/jsActions/nanoflow-actions-native/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),

## [Unreleased]

### Fixed

- We've fixed a synchronization issue with Base64 images generated by the Signature widget.

## [5.1.6] Nanoflow Commons - 2025-12-05

### Fixed
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
// - the code between BEGIN USER CODE and END USER CODE
// - the code between BEGIN EXTRA CODE and END EXTRA CODE
// Other code you write will be lost the next time you deploy the project.
import { Base64 } from "js-base64";

// BEGIN EXTRA CODE
// END EXTRA CODE
Expand All @@ -16,7 +15,7 @@ import { Base64 } from "js-base64";
* @param {MxObject} image
* @returns {Promise.<boolean>}
*/
export function Base64DecodeToImage(base64: string, image: mendix.lib.MxObject): Promise<boolean> {
export async function Base64DecodeToImage(base64: string, image: mendix.lib.MxObject): Promise<boolean> {
// BEGIN USER CODE

if (!base64) {
Expand All @@ -26,7 +25,10 @@ export function Base64DecodeToImage(base64: string, image: mendix.lib.MxObject):
throw new Error("image should not be null");
}

const blob = new Blob([Base64.toUint8Array(base64)], { type: "image/png" });
const dataUri = base64.startsWith("data:") ? base64 : `data:image/png;base64,${base64}`;

const res = await fetch(dataUri);
const blob = await res.blob();

return new Promise((resolve, reject) => {
mx.data.saveDocument(image.getGuid(), "camera image", {}, blob, () => resolve(true), reject);
Expand Down
Loading