基于AngularJS的拖拽文件上传的实例代码
随着HTML5的普及,现在大部分浏览器都支持拖拽功能,今天我们要说的就是实现一套拖拽上传的功能(Angularjs+nodejs)。
一、首先前端这款插件是基于AngularJS的,下面我们来看主要代码。
引入js:
html:
//上传文件的格式 {{http://dh.wk163.comhttp://dh.wk163.comfile.name}}
随着HTML5的普及,现在大部分浏览器都支持拖拽功能,今天我们要说的就是实现一套拖拽上传的功能(Angularjs+nodejs)。
一、首先前端这款插件是基于AngularJS的,下面我们来看主要代码。
引入js:
html:
//上传文件的格式 {{http://dh.wk163.comhttp://dh.wk163.comfile.name}}
js:
(function(){
'usestrict';
angular.module('todoApp',['ng-sortable','ngFileUpload'])
.controller('UploadController',['$scope','Upload',function($scope,Upload){
$scope.showProgress=false;
$scope.$watch('http://dh.wk163.comhttp://dh.wk163.comfiles',function(){
$scope.upload($scope.http://dh.wk163.comhttp://dh.wk163.comfiles);
});//监听http://dh.wk163.comhttp://dh.wk163.comfiles有改变就上传
$scope.upload=function(http://dh.wk163.comhttp://dh.wk163.comfiles){
if(http://dh.wk163.comhttp://dh.wk163.comfiles&&http://dh.wk163.comhttp://dh.wk163.comfiles.length){
for(vari=0;i
二、然后是我们的后台代码:
1、app.js中设定上传文件缓存地址
varmultiparty=require('connect-multiparty');
varconfig=require('./config').config;
app.use(multiparty({
uploadDir:path.join(config.upload_dir)
}));
2、上传代码:
exports.uploadImage=function(req,res,next){
/*if(!req.session||!req.session.user){
res.send({status:'forbidden'});
return;
}*/
varhttp://dh.wk163.comhttp://dh.wk163.comfile=req.http://dh.wk163.comhttp://dh.wk163.comfiles&&req.http://dh.wk163.comhttp://dh.wk163.comfiles.http://dh.wk163.comhttp://dh.wk163.comfile;
if(!http://dh.wk163.comhttp://dh.wk163.comfile){
res.send({status:'failed',message:'nohttp://dh.wk163.comhttp://dh.wk163.comfile'});
return;
}
//varuid=req.session.user._id.toString();
varuid="stone";
varuserDir=path.join(config.upload_dir,uid);
ndir.mkdir(userDir,function(err){
if(err){
returnnext(err);
}
varhttp://dh.wk163.comhttp://dh.wk163.comfilename=Date.now()+'_'+http://dh.wk163.comhttp://dh.wk163.comfile.name;
varsavepath=path.resolve(path.join(userDir,http://dh.wk163.comhttp://dh.wk163.comfilename));
if(savepath.indexOf(path.resolve(userDir))!==0){
returnres.send({status:'forbidden'});
}
fs.rename(http://dh.wk163.comhttp://dh.wk163.comfile.path,savepath,function(err){
if(err){
returnnext(err);
}
varurl='/upload/'+uid+'/'+encodeURIComponent(http://dh.wk163.comhttp://dh.wk163.comfilename);
res.send({status:'success',url:url});
});
});
};
三、调节图片顺序
加入Sortable插件用来拖拽调整上传图片的先后位置
1、引入js:
2、html代码:
//调整上传后图片顺序
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
-
返回顶部
-
3162201930
-
czq8825@qq.com