It's possible to create a temporary URL (with data from an ArrayBuffer) entirely client side:
URL.createObjectURL(new Blob(...));
It creates a blob: URL that you can use as a link.
URL.createObjectURL(new Blob(...));
It creates a blob: URL that you can use as a link.