这篇文章将为大家详细讲解有关node.js实现上传文件功能的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
最近刚开始弄nond,写得不好见谅,有什么错误请指出:
首先安装node,安装步骤
这里以上传图片为例:
1、在该文件夹下生成package.json文件:
在本文件夹下打开命令行窗口(window系统,进入该文件夹按住shift然后点击鼠标右键,就可以直接选择在本文件夹中打开命令行窗口)输入:npm init
然后等有提示出来,一路Enter(懂的请无视,不懂且不想懂的一路Enter就是了),然后你就可以发现文件夹下有一个package.json文件,下面是刚生成的package.json文件内容
这里因为要用到multer、express、fs模板,所以要安装模块,fs不需要安装,可以直接引用:
安装multer:npm install multer --save
安装express:npm install express --save
然后你会发现你的文件夹下会多出一个node_modules文件,package.json里会多出这两行:
2、创建app.js文件:
var express=require('express')
var app=express()
var multer=require('multer')
var fs=require('fs')
// var upload=multer({ dest: './tmp/' })
var createFolder = function(folder){
try{
fs.accessSync(folder);
}catch(e){
fs.mkdirSync(folder);
}
};
var uploadFolder = './upload/';
createFolder(uploadFolder);
// 通过 filename 属性定制
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, uploadFolder); // 保存的路径,备注:需要自己创建
},
filename: function (req, file, cb) {
// 将保存文件名设置为 字段名 + 时间戳,比如 logo-1478521468943
let suffix=file.mimetype.split('/')[1];//获取文件格式
cb(null, file.fieldname + '-' + Date.now()+'.'+suffix);
}
});
// 通过 storage 选项来对 上传行为 进行定制化
var upload = multer({ storage: storage })
app.post('/profile',upload.single('file'),function(req,res,next){
//req.body contains the text fields
console.log(req.file,'------',req.body,'-------',req.file.path);
// res.end(req.file.buffer);
// console.log(req.file.buffer.toString().length);
res.end('ok');
})
app.listen(8081);
然后在命令行窗口继续输入:node app.js
点击回车运行文件
前端的话刚好我这里有篇上传图片的小程序示例,可以测试使用
关于“node.js实现上传文件功能的方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。