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 相关文章推荐
JQERY limittext 插件0.2版(长内容限制显示)
Aug 27 Javascript
JS图片根据鼠标滚动延时加载的实例代码
Jul 13 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
Sep 02 Javascript
js call方法详细介绍(js 的继承)
Nov 18 Javascript
jquery组件使用中遇到的问题整理及解决
Feb 21 Javascript
Javascript冒泡排序算法详解
Dec 03 Javascript
微信小程序 购物车简单实例
Oct 24 Javascript
纯js实现html转pdf的简单实例(推荐)
Feb 16 Javascript
element-ui 设置菜单栏展开的方法
Aug 22 Javascript
JQuery的加载和选择器用法简单示例
May 13 jQuery
angular4应用中输入的最小值和最大值的方法
May 17 Javascript
Node.js web 应用如何封装到Docker容器中
Sep 01 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
便携利器 — TECSUN PL-365简评
2021/03/02 无线电
PHP echo,print,printf,sprintf函数之间的区别与用法详解
2013/11/27 PHP
PHP中的Streams详细介绍
2014/11/12 PHP
ThinkPHP连接Oracle数据库
2016/04/22 PHP
php的debug相关函数用法示例
2016/07/11 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
js中将字符串转换成json的三种方式
2011/01/12 Javascript
js和jquery对dom节点的操作(创建/追加)
2013/04/21 Javascript
js自动生成对象的属性示例代码
2013/10/28 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
2014/01/13 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
javascript原始值和对象引用实例分析
2015/04/25 Javascript
JavaScript中push(),join() 函数 实例详解
2016/09/06 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
jQuery对table表格进行增删改查
2020/12/22 Javascript
Node Puppeteer图像识别实现百度指数爬虫的示例
2018/02/22 Javascript
vue非父子组件通信问题及解决方法
2018/06/11 Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
2018/08/28 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
2019/07/19 Javascript
[03:21]辉夜杯主赛事 12月25日TOP5
2015/12/26 DOTA
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
深入学习Python中的上下文管理器与else块
2017/08/27 Python
python psutil模块使用方法解析
2019/08/01 Python
python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法
2020/02/27 Python
Django 用户登陆访问限制实例 @login_required
2020/05/13 Python
Ajax的工作原理
2015/12/04 面试题
部队学习十八大感言
2014/01/11 职场文书
小学生新学期寄语
2014/01/19 职场文书
电脑销售顾问自荐信
2014/01/29 职场文书
营销与策划专业求职信
2014/06/20 职场文书
市场部岗位职责范本
2015/04/15 职场文书
幼儿园班级工作总结2015
2015/05/25 职场文书
行为习惯主题班会
2015/08/14 职场文书
MySQL 聚合函数排序
2021/07/16 MySQL
详细介绍python操作RabbitMq
2022/04/12 Python