基于AngularJS的拖拽文件上传的实例代码
随着HTML5的普及,现在大部分浏览器都支持拖拽功能,今天我们要说的就是实现一套拖拽上传的功能(Angularjs+nodejs)。
一、首先前端这款插件是基于AngularJS的,下面我们来看主要代码。
引入js:
html:
//上传文件的格式 {{https://www.haoziyuan.cchttps://www.haoziyuan.ccfile.name}}
随着HTML5的普及,现在大部分浏览器都支持拖拽功能,今天我们要说的就是实现一套拖拽上传的功能(Angularjs+nodejs)。
一、首先前端这款插件是基于AngularJS的,下面我们来看主要代码。
引入js:
html:
//上传文件的格式 {{https://www.haoziyuan.cchttps://www.haoziyuan.ccfile.name}}
js:
(function(){
'usestrict';
angular.module('todoApp',['ng-sortable','ngFileUpload'])
.controller('UploadController',['$scope','Upload',function($scope,Upload){
$scope.showProgress=false;
$scope.$watch('https://www.haoziyuan.cchttps://www.haoziyuan.ccfiles',function(){
$scope.upload($scope.https://www.haoziyuan.cchttps://www.haoziyuan.ccfiles);
});//监听https://www.haoziyuan.cchttps://www.haoziyuan.ccfiles有改变就上传
$scope.upload=function(https://www.haoziyuan.cchttps://www.haoziyuan.ccfiles){
if(https://www.haoziyuan.cchttps://www.haoziyuan.ccfiles&&https://www.haoziyuan.cchttps://www.haoziyuan.ccfiles.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;
}*/
varhttps://www.haoziyuan.cchttps://www.haoziyuan.ccfile=req.https://www.haoziyuan.cchttps://www.haoziyuan.ccfiles&&req.https://www.haoziyuan.cchttps://www.haoziyuan.ccfiles.https://www.haoziyuan.cchttps://www.haoziyuan.ccfile;
if(!https://www.haoziyuan.cchttps://www.haoziyuan.ccfile){
res.send({status:'failed',message:'nohttps://www.haoziyuan.cchttps://www.haoziyuan.ccfile'});
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);
}
varhttps://www.haoziyuan.cchttps://www.haoziyuan.ccfilename=Date.now()+'_'+https://www.haoziyuan.cchttps://www.haoziyuan.ccfile.name;
varsavepath=path.resolve(path.join(userDir,https://www.haoziyuan.cchttps://www.haoziyuan.ccfilename));
if(savepath.indexOf(path.resolve(userDir))!==0){
returnres.send({status:'forbidden'});
}
fs.rename(https://www.haoziyuan.cchttps://www.haoziyuan.ccfile.path,savepath,function(err){
if(err){
returnnext(err);
}
varurl='/upload/'+uid+'/'+encodeURIComponent(https://www.haoziyuan.cchttps://www.haoziyuan.ccfilename);
res.send({status:'success',url:url});
});
});
};
三、调节图片顺序
加入Sortable插件用来拖拽调整上传图片的先后位置
1、引入js:
2、html代码:
//调整上传后图片顺序
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
10 小学毕业父母简短祝福语
11 幼儿生日祝福语模板简短
12 新娘妈妈的祝福语简短
13 邻居聚会祝福语大全简短
14 十条祝福语简短
15 给同学祝福语的简短
16 过年祝福语简短祝妈妈
17 祝女儿简短祝福语大全
18 恩师诗词祝福语简短大全
-
返回顶部
-
3162201930
-
czq8825@qq.com