html5+express实现拖拽上传
来源:互联网 发布:逛淘宝费流量多少 编辑:程序博客网 时间:2024/06/07 16:28
html5的drag和drop
- drag和drop基本介绍
- drag:控件一开始拖的时候进行响应
- drop:拖拽中的控件放下的时候进行响应
- 具体可参考:http://www.w3school.com.cn/html5/html_5_draganddrop.asp
- html5实现拖拽响应
拖拽上传,我们拖拽的文件,并不需要它在拖拽前响应事件,只需要在拖拽后响应异步上传的事件,也就是实现drop方法,并在drop方法中将文件POST出去
<div class='dropzone'>You can drop markdown file anywhere to upload </div> <script type="text/javascript"> /* 给控件绑定drop事件 */ $('#dropzone').on('drop', function(event) { /* 获取文件 */ var file = event.originalEvent.dataTransfer.files[0]; /* 采用FormData接口 相关信息:自行查询*/ var formData = new FormData(); formData.append('file', file); $.ajax('/upload', { method: 'POST', contentType: false, processData: false, data: formData, error: function(xhr, error) { console.log('upload failed'); }, success: function(response) { console.log('upload success'); } }); return false; }); </script>
express路由响应
- 构建响应POST方法的路由
var express = require('express'); var multipart = require('connect-multiparty'); var multipartMiddleware = multipart({ uploadDir: "./upload_tmp" }); /* express 4.0后req.files不是默认参数,需要添加 connect-multiparty等 , 具体可看官网:http://www.expressjs.com.cn/4x/api.html#req*/ var router = express.Router(); /* 该router响应的是 '/' 页面所有的POST,应对应上面html展示的页面,才会响应 ajax 中的upload */ router.post('/', multipartMiddleware, function(req, res) { var file = req.files.file; var fileName = file.originalFilename; var fileTmpPath = file.path; if (file.ws.closed == true) { try { var newPath = path.join(mdPath, fileName); fs.renameSync(fileTmpPath, newPath); } catch (err) { res.status(err.status || 500); res.render('error', { message: err.message || "server error", error: err }); } res.send(newPath); } });
阅读全文
0 0
- Nodejs express、html5实现拖拽上传
- html5+express实现拖拽上传
- HTML5文件实现拖拽上传
- html5实现拖拽文件上传
- HTML5+Springmvc实现拖拽文件上传
- HTML5文件实现拖拽上传
- html5实现拖拽文件上传
- HTML5文件实现拖拽上传
- HTML5+Springmvc实现拖拽文件上传
- HTML5文件实现拖拽上传
- HTML5+Springmvc实现拖拽文件上传
- HTML5文件实现拖拽上传
- HTML5文件实现拖拽上传
- nodejs+express实现文件上传
- HTML5 拖拽以及实现拖拽异步上传文件
- HTML5附件拖拽上传drop & google.gears实现代码
- HTML5文件拖拽上传
- html5拖拽上传图片
- 快速排序QS
- LeetCode之路:453. Minimum Moves to Equal Array Elements
- 刷机我的ipad
- 并发工具类:等待多线程完成的CountDownLatch,和join的区别
- 25.struts2_自定义验证器和编程验证
- html5+express实现拖拽上传
- 新闻客户端
- [leetcode]134. Gas Station
- 单例设计模式
- IOS Swift 3.0 NSData与String相互转化
- java IO 示例 ,体现适配器模式
- LeetCode第七题--反转32位的整数
- 2017面试经历
- 7层网络协议对应的例子