JS_选择文件夹,选择文件夹下所有文件,选择多个文件

选择多个文件

<input type="file" multiple />

选择文件夹

选择文件夹下所有文件及递归选择下面所有文件夹的文件
webkitdirectory:适配webkit内核浏览器
mozdirectory:适配火狐浏览器
odirectory:适配opera内核浏览器

IE浏览器不支持

<input type="file" webkitdirectory mozdirectory odirectory />

拖拽获取选择文件

<div id="container" style="width: 300px;height: 100px;border: 1px solid #999999;"></div>
<script>
	const div = document.getElementById('container')
	
	//	有东西进入时触发
	div.ondragenter = (e) => {
		e.preventDefault()
	}
	
	//	有东西在上面时触发
	div.ondragover = (e) => {
		e.preventDefault()
	}
	
	//	东西离开时触发
	div.ondrop = (e) => {
		e.preventDefault()
		const items = e.dataTransfer.items
		for (let item of items) {
			const entry = item.webkitGetAsEntry()	//	webkitGetAsEntry文件句柄获取entry对象
			if(entry.isFile) {
				//	处理文件:拿到file文件
				entry.file((file) => {
					console.log('file::', file)
				})
			} else {
				//	处理文件夹:文件夹中的文件file对象
				const reader = entry.createReader() //	文件夹读取器
				reader.readEntries((entries) => {
					console.log('entries::', entries)
				})
			}
		}
	}
</script>
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值