html5+express实现拖拽上传
2017-05-24 20:23
148 查看
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); } });
相关文章推荐
- 【转】HTML5拖拽文件到浏览器并实现文件上传下载
- HTML5附件拖拽上传drop & google.gears实现代码
- html5实现拖拽文件上传
- 拖拽文件实现无刷新上传,支持2G文件
- Silverlight中的拖拽实现的图片上传
- ASP.NET MVC中使用Dropzone.js实现图片的批量拖拽上传
- HTML5附件拖拽上传drop & google.gears实现代码
- 类似新浪微博和google图片的HTML5实现图片拖拽上传功能
- Nodejs express、html5实现拖拽上传
- HTML5附件拖拽上传drop & google.gears实现代码
- VS2008中,MFC对话框类实现类似QQ拖拽上传文件的功能,CWnd::OnDropFiles
- Silverlight中的拖拽实现的图片上传---1
- HTML5文件实现拖拽上传
- Ext4+Servlet+HTML5实现实时获取文件上传进度、本地预览、文件拖拽上传的相册实例
- HTML5文件实现拖拽上传
- Silverlight中的拖拽实现的图片上传---2
- HTML5拖拽文件到浏览器并实现文件上传下载功能代码
- Nodejs express、html5实现拖拽上传
- fileuploadJs+JcropJs+php综合小应用 实现图片拖拽上传与裁剪功能的demo
- Firefox下拖拽客户端文件到浏览器达到上传效果的实现(java例)