node.js实现上传文件功能


Posted in Javascript onJuly 15, 2019

本文实例为大家分享了node.js上传文件的具体代码,供大家参考,具体内容如下

最近刚开始弄nond,写得不好见谅,有什么错误请指出:

首先安装node,安装步骤

这里以上传图片为例:

1、在该文件夹下生成package.json文件:

在本文件夹下打开命令行窗口(window系统,进入该文件夹按住shift然后点击鼠标右键,就可以直接选择在本文件夹中打开命令行窗口)输入:npm init

然后等有提示出来,一路Enter(懂的请无视,不懂且不想懂的一路Enter就是了),然后你就可以发现文件夹下有一个package.json文件,下面是刚生成的package.json文件内容

node.js实现上传文件功能

这里因为要用到multer、express、fs模板,所以要安装模块,fs不需要安装,可以直接引用:

安装multer:npm install multer --save

安装express:npm install express --save

然后你会发现你的文件夹下会多出一个node_modules文件,package.json里会多出这两行:

node.js实现上传文件功能

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

点击回车运行文件

前端的话刚好我这里有篇上传图片的小程序示例,可以测试使用

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 指导方针
Apr 05 Javascript
JavaScript 比较时间大小的代码
Apr 24 Javascript
Jquery 复选框取值兼容FF和IE8(测试有效)
Oct 29 Javascript
JS连连看源码完美注释版(推荐)
Dec 09 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
Sep 14 Javascript
jQuery实现图片轮播特效代码分享
Sep 15 Javascript
老生常谈 关于JavaScript的类的继承
Jun 24 Javascript
JS正则表达式判断有效数实例代码
Mar 13 Javascript
微信小程序实现打卡日历功能
Sep 21 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
May 14 Javascript
VUE安装使用教程详解
Jun 03 Javascript
express + jwt + postMan验证实现持久化登录
Jun 05 Javascript
js canvas实现5张图片合成一张图片
Jul 15 #Javascript
js使用文件流下载csv文件的实现方法
Jul 15 #Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
Jul 15 #Javascript
微信小程序开发技巧汇总
Jul 15 #Javascript
微信小程序中如何计算距离某个节日还有多少天
Jul 15 #Javascript
微信小程序基础教程之worker线程的使用方法
Jul 15 #Javascript
使用vue-router在Vue页面之间传递数据的方法
Jul 15 #Javascript
You might like
php下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
Netbeans 8.2将支持PHP7 更精彩
2016/06/13 PHP
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
jquery form 隐藏的input 选择
2014/04/29 Javascript
自己用jQuery写了一个图片的马赛克消失效果
2014/05/04 Javascript
jQuery学习笔记之 Ajax操作篇(一) - 数据加载
2014/06/23 Javascript
JS实现从表格中动态删除指定行的方法
2015/03/31 Javascript
js方法数据验证的简单实例
2016/09/17 Javascript
javascript 开发之网页兼容各种浏览器
2017/09/28 Javascript
深入理解 webpack 文件打包机制(小结)
2018/01/08 Javascript
element-ui 限制日期选择的方法(datepicker)
2018/05/16 Javascript
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
2019/04/26 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
mapboxgl区划标签避让不遮盖实现的代码详解
2020/07/01 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
[04:22]DSPL第二期精彩集锦:残血反杀!
2014/12/10 DOTA
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
Python实现的简单发送邮件脚本分享
2014/11/07 Python
python编程使用selenium模拟登陆淘宝实例代码
2018/01/25 Python
Python实现重建二叉树的三种方法详解
2018/06/23 Python
pycharm 在windows上编辑代码用linux执行配置的方法
2018/10/27 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
2018/11/07 Python
使用Python完成15位18位身份证的互转功能
2019/11/06 Python
Python大数据之使用lxml库解析html网页文件示例
2019/11/16 Python
jupyter notebook参数化运行python方式
2020/04/10 Python
如何使用Pytorch搭建模型
2020/10/26 Python
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
临床医学专业个人的自我评价
2013/09/27 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
乡镇防汛工作汇报
2014/10/28 职场文书
从事会计工作年限证明
2015/06/23 职场文书
周末问候语大全
2015/11/10 职场文书
学生检讨书范文
2019/06/24 职场文书
Golang 正则匹配效率详解
2021/04/25 Golang
MySQL的Query Cache图文详解
2021/07/01 MySQL