使用 Streamlit 上传组件的时候遇到了AxiosError: Request failed with status code 403错误。
这个是由于 XSRF(跨站请求伪造) 造成的,做生产环境的时候都好解决,大部分其实是开发环境下遇到。
官方文档有专门提到这个错误,但是申明的原因和推荐解决方案试过,没啥用。
对于新手来说遇到这个问题基本摸不着头脑,干脆一点,开发环境下关闭 XSRF 就行,解决方案有两种。
方法一:增加配置文件
项目目录下新增一个 .streamlit 目录,目录中创建 config.toml 文件,这个是 Streamlit 的配置文件,文件内容如下:
[browser]
# 禁止收集使用统计数据
gatherUsageStats = false
[server]
# 禁止跨源资源共享(CORS)和跨站请求伪造(XSRF)保护
# enableCORS = false
enableXsrfProtection