如何过滤由Java / Typescript中的目录选择器选择的FileList对象?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何过滤由Java / Typescript中的目录选择器选择的FileList对象?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1382字,纯文字阅读大概需要2分钟。
内容图文
![如何过滤由Java / Typescript中的目录选择器选择的FileList对象?](/upload/InfoBanner/zyjiaocheng/686/a3c04d31460640ada7d46ee4282e495d.jpg)
我正在尝试从FileList对象过滤或删除某些文件.我已经得到一个FileList对象形式的目录选择器.
<input type="file" accept="image/*" webkitdirectory directory multiple>
在我的.ts文件中:
public fileChangeListener($event: any) {
let selectedFiles=$event.target.files; //Object of Filelist
}
selectedFileList包含不同类型的文件,例如图像/ jpg,图像/ png,应用程序/ javascript,应用程序/ pdf等.我想获取仅包含图像类型文件的FileList对象.如何获取?
注意:HTML输入元素中的accept =“ image / *”在这里不起作用.
{
lastModified:1521624250148,
lastModifiedDate:Wed Mar 21 2018 15:24:10 GMT+0600 (+06) {},
name:"rxlnn70l.bmp",
size:814138,
type:"image/bmp",
webkitRelativePath:"second/rxlnn70l.bmp",
}
这是我的代码错误:files.slice不是函数
解决方法:
使用扩展运算符…将FileList转换为Array并通过检查其类型是否包含子文本’image’对其进行过滤.
var files = e.target.files;
files = [...files].filter( s => s.type.includes("image") )
演示版
document.querySelector( "[type='file']" ).addEventListener( "change", function(e){
var files = e.target.files;
files = [...files].filter( s => s.type.includes("image") )
console.log(files);
})
<input type="file" accept="image/*" webkitdirectory directory multiple>
编辑
如果您的浏览器不支持传播运算符,请使用以下之一
files = Array.from(files).filter( function(s){
return s.type.includes("image") ;
});
要么
files = [].slice.call(files).filter( function(s){
return s.type.includes("image") ;
});
内容总结
以上是互联网集市为您收集整理的如何过滤由Java / Typescript中的目录选择器选择的FileList对象?全部内容,希望文章能够帮你解决如何过滤由Java / Typescript中的目录选择器选择的FileList对象?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。