HarmonyOS onShowFileSelector中event?.fileSelector.getAcceptType()获取的文件类型太庞杂,不好用于判断

H5中使用input来上传文件时,如何利用accept属性来判断需要执行的具体逻辑

<input type="file" accept="image/*" style="position: absolute; visibility: hidden; z-index: -999; width: 0px; height: 0px; top: 0px; left: 0px;">

例如:H5中accept设置为image/*时,onShowFileSelector中需要执行图库和拍照的调起,accept设置为video/*时,回调中需要执行的是视频拍摄,设置为.pdf时,回调需要执行的是调起文件管理。

目前在回调中event?.fileSelector.getAcceptType()获取到的是比较详细的文件类型的后缀,不利于判断input标签具体需要的操作,是否能获取到image/*这样标签,表示图片这个大类。

HarmonyOS
2024-09-02 09:56:20
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

目前这种方法暂时无法获取确定得大类标签,您可以直接使用 accept 数组并且通过 includes 方法校验是否存在某字符串:

.onShowFileSelector((event)=>{ 
  let a = true; 
  if(event?.fileSelector.getAcceptType()){ 
    let sss:string[] = event?.fileSelector.getAcceptType() 
    a = sss.includes(".png") 
  } 
  return a; 
})
分享
微博
QQ
微信
回复
2024-09-02 16:59:16
相关问题
AVRecorder 支持文件类型
1413浏览 • 1回复 待解决
getAcceptType返回类型有问题
26浏览 • 1回复 待解决
HarmonyOS 怎么进行类型判断
172浏览 • 1回复 待解决
HarmonyOS 如何判断设备类型
261浏览 • 1回复 待解决
HarmonyOS如何判断设备类型?
280浏览 • 1回复 待解决
有哪些好用MySQL监控软件?
2271浏览 • 1回复 待解决
网络类型细分判断问题咨询
213浏览 • 1回复 待解决
HarmonyOS 如何获取网络类型
213浏览 • 1回复 待解决
如何对监听判断VPN类型网络
307浏览 • 1回复 待解决