Can I write to a Media object as a file?

That worked; thanks!

My server module ended up looking like this:

from anvil import *
import anvil.server
import qrcode
import qrcode.image.svg
from io import BytesIO

@anvil.server.callable
@anvil.server.http_endpoint("/qrcode")
def make_qr_code(qr_code_data, **params):
    qrcode_obj = qrcode.make(qr_code_data, image_factory=qrcode.image.svg.SvgPathImage)
    data = BytesIO()
    qrcode_obj.save(data)
    data.seek(0)
    return BlobMedia("image/svg+xml", data.read(), name="qrcode.svg")

and it generates SVG QR codes like a treat!

1 Like