在 flet 应用程序中,我无法访问资产文件,每次都会收到 PathAccessException

问题描述 投票:0回答:1

我正在使用/学习 flet v0.23.2,每次访问(以读取模式)/assets 目录上的文件(路径正确并且目录存在)时,我都会收到此错误:

PathAccessException: Cannot open file, path = 'mypath/assets/icon.png' (OS Error: Operation not permitted, errno = 1)

这是我的代码:

import flet as ft

def main(page: ft.Page):
    page.title = "Images Example"
    page.theme_mode = ft.ThemeMode.LIGHT
    page.padding = 50
    page.update()

    img = ft.Image(
        src=f"/assets/icon.png",
        width=100,
        height=100,
        fit=ft.ImageFit.CONTAIN,
    )
    images = ft.Row(expand=1, wrap=False, scroll="always")

    page.add(img, images)

    page.update()

ft.app(main)

我尝试通过以下方式运行应用程序:

flet run myapp.py
flet run -a <path to assets> myapp.py

我尝试用应用程序调用是这样的:

...
img = ft.Image(
        src=f"icon.png",
        width=100,
        height=100,
        fit=ft.ImageFit.CONTAIN,
    )
...
flet.app(target=main, assets_dir="assets")

我使用的是MAC操作系统,资产目录和文件是可读的。

python flutter file flet
1个回答
0
投票
...
img = ft.Image(
        src=f"/icon.png",
        width=100,
        height=100,
        fit=ft.ImageFit.CONTAIN,
    )
...
flet.app(target=main, assets_dir="assets")

我认为如果你只是在相对文件路径之前添加斜杠,它应该可以修复。

© www.soinside.com 2019 - 2024. All rights reserved.