flet
flet copied to clipboard
read file in static site
Description
Code example to reproduce the issue:
from typing import Dict
import flet
from flet import (
Column,
ElevatedButton,
FilePicker,
FilePickerResultEvent,
FilePickerUploadEvent,
FilePickerUploadFile,
Page,
ProgressRing,
Ref,
Row,
Text,
icons,
)
import os
os.environ["FLET_SECRET_KEY"] = "3"
def main(page: Page):
prog_bars: Dict[str, ProgressRing] = {}
files = Ref[Column]()
upload_button = Ref[ElevatedButton]()
def file_picker_result(e: FilePickerResultEvent):
upload_button.current.disabled = True if e.files is None else False
prog_bars.clear()
files.current.controls.clear()
if e.files is not None:
for f in e.files:
prog = ProgressRing(value=0, bgcolor="#eeeeee", width=20, height=20)
prog_bars[f.name] = prog
files.current.controls.append(Row([prog, Text(f.name)]))
page.update()
def on_upload_progress(e: FilePickerUploadEvent):
prog_bars[e.file_name].value = e.progress
prog_bars[e.file_name].update()
file_picker = FilePicker(on_result=file_picker_result, on_upload=on_upload_progress)
def upload_files(e):
uf = []
if file_picker.result is not None and file_picker.result.files is not None:
for f in file_picker.result.files:
file_picker.result.files.save()
uf.append(
FilePickerUploadFile(
f.name,
upload_url=page.get_upload_url(f.name, 600),
)
)
file_picker.upload(uf)
# hide dialog in a overlay
page.overlay.append(file_picker)
page.add(
ElevatedButton(
"Select files...",
icon=icons.FOLDER_OPEN,
on_click=lambda _: file_picker.pick_files(allow_multiple=True),
),
Column(ref=files),
ElevatedButton(
"Upload",
ref=upload_button,
icon=icons.UPLOAD,
on_click=upload_files,
disabled=True,
),
)
flet.app(target=main, upload_dir="uploads", view=flet.WEB_BROWSER)
flet publish upload_example.py
python3 -m http.server 55545 --directory dist
Describe the results you received:
Describe the results you expected:
i expect get data from this file and just send to server
in linux,webapp all is ok, but in static site did not work
Additional information you deem important (e.g. issue happens only occasionally):
Flet version (pip show flet
):
Version: 0.22.0
Operating system: WEB