node.js - nodejs 是如何处理post来的图片 使其放入 /public/images 里的?
本文介绍了node.js - nodejs 是如何处理post来的图片 使其放入 /public/images 里的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
初学nodejs,用的 express。
移动端这边 是想用 okhttp 直接post图片文件上去的,nodejs有没有什么直接接收并存储的方法?
之前有尝试过Base64上传,再到nodejs解码,感觉一张不带文字的图片不应该这样,太繁琐。
解决方案
express
form 添加这个:enctype="multipart/form-data"
input(type="file")
引用
var multiparty = require('connect-multiparty')
var multipartMiddleware = multiparty();
路由
app.post('/movie/save',multipartMiddleware,Movie.savePoster,Movie.save)
exports.savePoster = function(req, res, next) {
var posterData = req.files.uploadPoster
var filePath = posterData.path
var originalFilename = posterData.originalFilename
if (originalFilename) {
fs.readFile(filePath, function(err, data) {
var timestamp = Date.now()
var type = posterData.type.split('/')[1]
var poster = timestamp + '.' + type
**//将文件保存到特定的目录**
var newPath = path.join(__dirname, '../../', '/file/images/' + poster)
fs.writeFile(newPath, data, function(err) {
// 自定义
req.poster = poster
next()
})
})
}
else {
next()
}
}
最后可以参考:http://www.imooc.com/learn/197中关于上传海报的章节视频,这个是过期的,后面一章有升级的方法
这篇关于node.js - nodejs 是如何处理post来的图片 使其放入 /public/images 里的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文