如何使用 pywebio 直接跳转文件下载链接

2021-03-19 15:40:07 +08:00
 MrSnake
由于在 IOS 系统上,无法通过直接下载 ics 文件导入日历,需要文件链接进行订阅添加,但是 pywebio 中似乎无法进行直接的跳转,请问该如何解决?
下为代码:
with open(".\ics\\"+username+".ics", "w",encoding='utf-8') as w:
w.write(iCal)
iCal = iCal.encode(encoding='utf-8')
pywebio.output.put_file(data["username"]+".ics",iCal,'点我进行下载')
pywebio.session.hold()
1811 次点击
所在节点    Python
5 条回复
SHSF
2021-03-19 16:03:16 +08:00
试试用 pywebio.output.put_link,然后 tornado 处理路由
MrSnake
2021-03-19 17:58:29 +08:00
@SHSF 我使用的是 flask,这样也行嘛
SHSF
2021-03-19 18:17:23 +08:00
@MrSnake 你试试不就知道了
NeilWang
2021-03-24 23:09:03 +08:00
可以使用 start_server() 的 static_dir 参数来设置一个存放静态文件的文件夹,然后将 ics 文件保存到该路径下,这样使用 pywebio.output.put_link 就可以创建指向 ics 文件的链接了。

参见: https://pywebio.readthedocs.io/zh_CN/latest/platform.html?highlight=static_dir#pywebio.platform.tornado.start_server

PS:关于 pywebio 使用上的问题可以在 github 仓库的 discussions 区发帖
MrSnake
2021-03-31 20:05:41 +08:00
@NeilWang 谢谢!!!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/763221

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX