PyWebIO icon indicating copy to clipboard operation
PyWebIO copied to clipboard

file_upload 指定扩展名 过滤功能异常 无法选中需要的文件

Open Dfrog opened this issue 1 year ago • 1 comments
trafficstars

BUG描述 制定录音文件,的文件上传功能,在手机浏览器上,工作异常

复现步骤

uploaded_file = file_upload("上传一个录音文件", accept=".m4a") 测试结果

苹果手机浏览器 可以选择录音文件 安卓 chrome 浏览器 无法选择(m4a录音文件是灰色的,无法选中)

uploaded_file = file_upload("上传一个录音文件", accept="audio/*") 测试结果 安卓 chrome浏览器能选 m4a 录音文件 苹果浏览器 无法选择 (音频文件灰色,无法选中)

uploaded_file = file_upload("上传一个录音文件") 去掉过滤,安卓和苹果浏览器,都正常

环境信息

  • 操作系统及版本:
    安卓14 Chrome 130.0.6723.86 苹果 IOS 17.7 Chrome 130.0.6723.90

  • Python版本: 使用 python3 --version
    python3.11

  • PyWebIO版本: 使用 python3 -c "import pywebio;print(pywebio.__version__)" 查看 1.8.3

Dfrog avatar Nov 08 '24 03:11 Dfrog

这应该是浏览器兼容性问题。不过,html 的file input的accept参数支持传入多种类型 (文档),对应到pywebio中是传入列表,所以可以尝试一下使用 file_upload("上传一个录音文件", accept=["audio/*", ". m4a"]) 是否能解决问题

wang0618 avatar Feb 14 '25 05:02 wang0618