preface
最近 需要实现一个上传 压缩包的需求: 支持 zip,rar 文件上传。
问题背景:
xxxx业务设置 上传类型为压缩包的时候,预期前台 ios 端只能选中zip,rar类型。但是accept设置仅支持这两种类型后 ios14.6 下,ios11.0.3 下均不可选中 rar文件(钉钉 和 微信)。
后来修改为 若作业类型 包含压缩包,直接放开选中类型,然后对不符合 类型的文件进行筛除。
当前问题: 遇到了 ios11.0.2 和 ios11.0.3下 不能识别 rar文件,在h5中不能上传rar文件
现象
以下为 ios11.0.3 与 ios14.6 版本对比
两款手机在 钉盘中文件对比:
ios14.6
ios11.0.3
显然ios11.0.3 不识别 rar 文件
在钉钉中测试 h5 上传
因不支持视频上传,描述下效果: 同上述图片几乎一致
测试代码如下
// input file 对应的 accept
<input type="file" accept="*,.zip,.rar,application/x-rar-compressed,application/zip,application/x-zip-compressed,application/octet-stream">
结论
如有错误,欢迎指正
ios部分版本不识别rar文件,所以不支持h5 上传rar文件。
建议1: 直接从业务上采用仅支持 zip文件压缩包,兼容性好。
建议2: 采用当前的模式,不支持rar的手机,自己去使用 zip 文件