2016-06-15 14 views
2

Gibt es eine Grenze für die toDataURL-Größe? Auf iPad versuche ich toDataURL(options) zu machen und ein neues Bild zu machen. Wenn sich options.width und options.height jedoch nahe an der Leinwandgröße befinden, wird eine leere Seite zurückgegeben.fabricjs object.toDataURL() limit

Antwort

1

Gibt es ein Limit für die Größe von toDataURL [data-uri]?

Ja, es kann eine beliebige Grenze für Daten-URI Länge in some browsers (from MDN) sein:

[...] Browser eine bestimmte maximale Länge von Daten zu unterstützen ist nicht erforderlich. [...]

Die genauen Grenzen müssen ständig ausprobiert werden, da sie sich jederzeit ändern können. Das Limit ist teilweise auf die Ressourcenrichtlinie zurückzuführen (in particular with mobile devices and some platforms), ist aber auch auf die Sicherheit zurückzuführen.

Eine mögliche Problemumgehung ist die Verwendung von toBlob(), falls für dieses Framework verfügbar. Wenn nicht, kann eine alternative Route sein, um direkt über das Framework auf das Canvas-Element zuzugreifen (z. B. über getContext().canvas) und rufen Sie dazu toBlob() an. Einige Browser benötigen möglicherweise eine polyfill for toBlob().