node+vue如何实现用户注册和头像上传-创新互联
小编给大家分享一下node+vue如何实现用户注册和头像上传,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比南充网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式南充网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖南充地区。费用合理售后完善,10余年实体公司更值得信赖。vue是什么
Vue是一套用于构建用户界面的渐进式JavaScript框架,Vue与其它大型框架的区别是,使用Vue可以自底向上逐层应用,其核心库只关注视图层,方便与第三方库和项目整合,且使用Vue可以采用单文件组件和Vue生态系统支持的库开发复杂的单页应用。
数据库我使用的是MongoDB。
首先做文件上传,要保证协议里面的'Content-Type'为'multipart/form-data'。
注册的步骤:
将用户名密码,图片等提交给node端
node端将图片保存到服务器,图片路径及注册用户的个人信息保存到mongodb数据库。
项目目录如下,注册功能只是其中的第一步:

前端框架使用的是vue.js,ajax使用的是vue的组件vue-resource。
前端上传代码如下:
请输入合适的用户名请输入符合规范的密码两次输入请保持一致请输入昵称//通过change事件获取到用户所要上传的图片
node端接收代码如下:
var express=require('express');
var router = express.Router();
var formidable=require('formidable');//上传功能的插件
var path=require('path');
var fs=require('fs');
var user=require('../models/users');//注册信息插入数据库的方法
router.post('/',function (req,res) {
var uploadDir='./public/images/';
var form=new formidable.IncomingForm();
//文件的编码格式
form.encoding='utf-8';
//文件的上传路径
form.uploadDir=uploadDir;
//文件的后缀名
form.extensions=true;
//文件的大小限制
form.maxFieldsSize = 2 * 1024 * 1024;
form.parse(req, function (err, fields, files) {
//fields上传的string类型的信息
//files为上传的文件
var username=fields.username;
var password=fields.password;
var passwords=fields.passwords;
var sex=fields.sex;
var pintroduction=fields.Pintroduction;
var name=fields.name;
var file=files.photo;
var oldpath =path.normalize(file.path);//返回正确格式的路径
var newfilename=username+file.name;
var newpath=uploadDir+newfilename;
//写入数据库的信息
var useres={
username:username,
password:password,
sex:sex,
pintroduction:pintroduction,
name:name,
};
//将老的图片路径改为新的图片路径
fs.rename(oldpath,newpath,function(err){
if(err){
console.error("改名失败"+err);
}
else {
useres.filePath=newpath;
user.create(useres);
res.send('注册成功')
}
});
})
});
module.exports = router;// models/users.js
var User=require('../lib/mongo');
module.exports={
create:function (useres) {
User.create(useres);
}
};// lib/mongo.js
const moogoose=require('mongoose');
moogoose.connect('mongodb://localhost/myblog');
moogoose.Promise = global.Promise;
const db=moogoose.connection;
// exports.db=db;
// db.once('open',function () {
//
// });
var userSchema=new moogoose.Schema({
username:{type:'string',unique:true},
password:{type:'string'},
sex:{type:'string'},
pintroduction:{type:'string'},
name:{type:'string'},
filePath:{type:'string'}
},
{collection:'user'}
);
var user=moogoose.model('user',userSchema);
exports.create=function (useres) {
new user(useres).save(function (err,data) {
})
};以上是“node+vue如何实现用户注册和头像上传”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联网站建设公司行业资讯频道!
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前标题:node+vue如何实现用户注册和头像上传-创新互联
本文来源:http://jxruijie.cn/article/coiopc.html
