js WebUploader 分块上传
由于项目需要上传文件到服务器,于是便在文件上传的基础上增加了拖拽上传。拖拽上传当然属于文件上传的一部分,只不过在文件上传的基础上增加了拖拽的界面,主要在于前台的交互,
拖拽上传区域-->
class="dropBox_wrap">
<div id="dropbox" class="drop">
<h4>请将文件拖拽到此区域进行上传</h4>
</div>
</div>
),oBody = document.querySelector("body");
,function(evt){
EventUtil.preventDefault(evt);
});
,function(evt){
).removeClass("drop_leave");
EventUtil.preventDefault(evt);
});
,function(evt){
);
EventUtil.preventDefault(evt);
return false;
});
,function(evt){
).removeClass("drop_enter");
leaveHandler(evt);
});
,function(evt){
dropHandler(evt);
});
})();
function dropHandler(e){
e.preventDefault(); //阻止默认
var fileList = e.dataTransfer.files; //获取拖拽的文件列表
<span "<strong="">){//如果为多个文件,遍历
var formData = new FormData();
for(var i=0;i<fileList.length;i++){
formData.append('files', fileList[i]);//存入formData对象
}
ajaxFileUpload(formData); //调用文件上传方法,可以参考博客内另一篇文章:文件上传,下方会放链接
}else{
);
}
}
//定义拖拽离开事件
function leaveHandler(e){
}
});
//定义事件处理程序方法
//element:dom对象,type:事件类型,handler:事件处理方法
var EventUtil = {
//添加事件监听方法
addHandler: function(element, type, handler){
if (element.addEventListener){
element.addEventListener(type, handler, false);
} else if (element.attachEvent){
+ type, handler);
} else {
+ type] = handler;
}
},
//移除事件监听方法
removeHandler: function(element, type, handler){
if (element.removeEventListener){
element.removeEventListener(type, handler, false);
} else if (element.detachEvent){
+ type, handler);
} else {
+ type] = null;
}
},
//获取事件对象
getEvent: function(event){
return event ? event : window.event;
},
getTarget: function(event){
return event.target || event.srcElement;
},
//阻止默认行为
preventDefault: function(event){
if (event.preventDefault){
event.preventDefault();
} else {
event.returnValue = false;
}
},
//阻止事件冒泡
stopPropagation: function(event){
if (event.stopPropagation){
event.stopPropagation();
} else {
event.cancelBubble = true;
}
}
}
效果展示:
视频演示:
示例下载地址
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2020-06-19 B/S实现浏览器端大文件分块上传
2020-06-19 百度WebUploader实现浏览器端大文件分块上传
2020-06-19 WebUploader实现浏览器端大文件分块上传
2020-06-19 php实现浏览器端大文件分块上传
2020-06-19 csharp实现浏览器端大文件分块上传
2020-06-19 c#实现浏览器端大文件分块上传