app.post('/upload', function(req, res){
//接收前台POST过来的base64
var imgData = req.body.imgData
//过滤data:URL
var base64Data = imgData.replace(/^data:image\/\w+base64,/, "")
var dataBuffer = new Buffer(base64Data, 'base64')
fs.writeFile("image.png", dataBuffer, function(err) {
if(err){
res.send(err)
}else{
res.send("保存成功!")
}
})
})
服务器推荐用nginx,配置简单,性能强悍。nginx可以使用代理访问后端的Node.js应用服务器。
配置方法:
1)在配置文件http段内容添加后端服务器:
http {
#添加后端服务器,和nginx负载均衡配置一样
upstream nodejs {
server 127.0.0.1:8080
}
...
}
2)给应用添加虚拟主机:
server {
listen 80
server_nameIP
location / {
proxy_pass nodejs#名字和前面的对应,将所有的请求转发给后端的node
}
access_log logs/nodejs.access.log main#如果需要日志的话
}
推荐将静态文件如css、js和图片和应用服务器分开。
主要解决两个问题,1是静态资源的处理,2是动态资源的路由。静态资源在node.js里的意思是不变的,如图片、前端js、css、html页面等。
动态资源我们一般指aspx页面,ashx页面,asp页面,jsp页面,php页面等,而node.js里其实没动态资源这一说,它对请求的处理都是由回调方法完成的,在我实现的httserver里,借鉴了ashx的写法,把处理请求的js文件看作动态资源。
首先实现一个处理静态资源的函数,其实就是对本地文件的读取操作,这个方法已满足了上面说的静态资源的处理。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)