Vue通过操作Dom元素 实现 拖拽文件到网页进行文件上传【JS/JQ 原理也是一样的】
来源:互联网 发布:linux shell alias 编辑:程序博客网 时间:2024/06/05 16:19
效果:
拖入文件前:
拖入文件后:
html:
<div id="select_frame"> <div ref="select_frame" class="box"> 将文件拖拽到这里 </div> <div class="filebox"> <p v-if="fileList.length<1">暂无文件</p> <ol> <li v-for="item in fileList">{{item.name}}</li> </ol> </div> <button style="outline:none;float:right;" type="submit" class="btn btn-primary">解 析</button></div>
js:
export default{ name: 'patchCheck', data() { return { infoshow: false, fileList: [], }; }, mtehods: { }, components: { layout: Layout, }, mounted() { this.$refs.select_frame.ondragleave = (e) => { e.preventDefault(); //阻止离开时的浏览器默认行为 }; this.$refs.select_frame.ondrop = (e) => { e.preventDefault(); //阻止拖放后的浏览器默认行为 const data = e.dataTransfer.files; // 获取文件对象 if (data.length < 1) { return; // 检测是否有文件拖拽到页面 } console.log(e.dataTransfer.files); const formData = new FormData(); for (let i = 0; i < e.dataTransfer.files.length; i++) { console.log(e.dataTransfer.files[i]); if (e.dataTransfer.files[i].name.indexOf('map') === -1) { alert('只允许上传.map文件'); return; } formData.append('uploadfile', e.dataTransfer.files[i], e.dataTransfer.files[i].name); } this.fileList = this.fileList.concat(e.dataTransfer.files[0]); console.log(formData, this.fileList, e.dataTransfer.files[0]); }; this.$refs.select_frame.ondragenter = (e) => { e.preventDefault(); //阻止拖入时的浏览器默认行为 this.$refs.select_frame.border = '2px dashed red'; }; this.$refs.select_frame.ondragover = (e) => { e.preventDefault(); //阻止拖来拖去的浏览器默认行为 }; },};
阅读全文
1 0
- Vue通过操作Dom元素 实现 拖拽文件到网页进行文件上传【JS/JQ 原理也是一样的】
- vue.js文件上传
- 来往网页版扫码自动登录的实现原理(微信也是一样)
- hadoop的hdfs文件操作实现上传文件到hdfs
- 通过java实现上传文件到hadoop
- js和jq的dom操作&&append的元素绑定事件失效
- 网页文件上传的原理与实践
- 网页文件上传的原理与实践
- 通过SpringMVC进行文件的上传
- 通过SpringMVC进行文件的上传
- 利用网络进行文件的上传,通过客户端上传到服务端
- 通过WebService上传文件的原理
- 通过WebService上传文件的原理
- Servlet 进行上传文件的原理
- 文件上传原理:Web上传文件的原理及实现
- java js 文件图片通过FTP进行上传和同步
- java js 文件图片通过FTP进行上传和同步
- Vue.js中实现通过一个dom的事件,使得另一dom也触发事件
- SLIC超像素分割算法
- Spring Security 3用户登录实现之十 用户切换
- Mysql数据库设计规范之二数据库字段设计规范
- ipv6 配置
- 浏览器不支持console问题
- Vue通过操作Dom元素 实现 拖拽文件到网页进行文件上传【JS/JQ 原理也是一样的】
- 学习笔记
- Leetcode278.+Leetcode7. int溢出问题
- UAP扩展开发
- PAT 甲级 1022. Digital Library (30)
- leetcode 557. Reverse Words in a String III(C语言)10
- Java反射浅析
- Java类加载机制ClassLoader之ContextClassLoader
- linux命令