关于DragEvent接口与事件 复盘拖放&上传完整过程

复盘 :拖放&上传 文件的过程

完整过程(简述):
实现交互过程使用express框架–脚手架(基础代码见底部)
①开始拖动文件触发DragEvent(5种事件)
②将文件放到页面内指定区域(松开鼠标左键,2种事件),触发dropover事件和drop事件
③文件保存在FileList中
④通过FromData传输文件到服务器
⑤服务器根据自定义存储规则保存文件

详细过程(举例):

拖放过程指定区域:id为region的div

整个过程必要的两个事件dragover和drop
当文件拖动到页面指定区域时触发dragover事件
//1.获取目标对象

let regionEle = document.getElementById("region");

//2.1给目标对象添加事件dragover

regionEle.addEventListener("/dragover",(event)=>{
   
	event.preventDefault();
});

//2.2给目标对象添加drop事件

regionEle.addEventListener("/drop",(event)=>{
   
	event.preventDefault();
	event.stopPropagation();
});

//3.FileList存储文件

regionEle.addEventListener("/drop",(event)=>{
   
	event.preventDefault();
	event.stopPropagation();
	//声明新变量存储dataTransfer中的数据
	let dt = event.dataTransfer;
	//将文件存在FileList中
	let FileList = dt.files;
});

//4.通过formData传输数据

regionEle.addEventListener("/drop",(event)=>{
   
	event.preventDefault();
	event.stopPropagation();
	//声明新变量存储dataTransfer中的数据
	let dt = event.dataTransfer;
	//将文件存在FileList中
	let fileList = dt.files;
	//将拖进的文件循环遍历传输给服务器
	for(let n = 0;n<fileList.length;n++){
   
		formData.append("upload",fileList.item(n));
	}
});

//4.axios传输

regionEle.addEventListener("/drop",(event)=>{
   
	event.preventDefault();
	event.stopPropagation();
	//声明新变量存储dataTransfer中的数据
	let dt = event.dataTransfer
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值