Dash应用无法在浏览器中显示JPG图片问题求助
问题分析与解决
你的代码核心问题是错误使用了app.get_asset_url()方法,具体问题和修正方案如下:
错误点
当你通过assets_folder=asst_path指定了资源文件夹后,get_asset_url()只需要接收资源在该文件夹内的相对路径(这里就是图片文件名,因为图片直接放在images文件夹下),而不是本地绝对路径或带http前缀的地址。你当前传入的完整本地路径会让Dash无法正确映射到资源路由。
修正后的代码
import dash from dash import Dash, html import os asst_path = os.path.join(os.getcwd(), "images") app = Dash(__name__, assets_folder=asst_path) # 可以打印路径确认文件是否存在 print(f"检查图片路径:{asst_path}/img1.jpg") app.layout = html.Div([ html.Img(src=app.get_asset_url("img1.jpg")), html.Img(src=app.get_asset_url("img2.jpg")) ]) if __name__ == '__main__': app.run_server(debug=True)
额外验证步骤
- 确认
images文件夹下确实存在img1.jpg和img2.jpg,文件名(包括大小写)完全匹配 - 运行代码后,可以打开浏览器开发者工具(F12),查看图片元素的src属性,应该是类似
/assets/img1.jpg的路由地址,而不是本地路径
内容的提问来源于stack exchange,提问作者NoviceB
相关产品推荐
相关产品推荐

