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 相关文章推荐
Array.prototype.slice.apply的使用方法
Mar 17 Javascript
js模拟滚动条(横向竖向)
Feb 22 Javascript
jQuery打印图片pdf、txt示例代码
Jul 22 Javascript
将页面table内容与样式另存成excel文件的方法
Aug 05 Javascript
jquery+php随机生成红包金额数量代码分享
Aug 27 Javascript
手机端点击图片放大特效PhotoSwipe.js插件实现
Aug 24 Javascript
JS查找字符串中出现最多的字符及个数统计
Feb 04 Javascript
Vue项目pdf(base64)转图片遇到的问题及解决方法
Oct 19 Javascript
基于jQuery实现可编辑的表格
Dec 11 jQuery
解决vue项目中某一页面不想引用公共组件app.vue的问题
Aug 14 Javascript
详解vue3.0 的 Composition API 的一种使用方法
Oct 26 Javascript
js 实现碰撞检测的示例
Oct 28 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
用户的详细注册和判断
2006/10/09 PHP
php异常处理方法实例汇总
2015/06/24 PHP
PHP curl使用实例
2015/07/02 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
学习ExtJS(二) Button常用方法
2009/10/07 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
jQuery Ajax调用WCF服务详细教程
2015/03/31 Javascript
javascript制作游戏开发碰撞检测的封装代码
2015/03/31 Javascript
Jquery中$.post和$.ajax的用法小结
2015/04/28 Javascript
js实现点击文本框显示日期选择器特效代码分享
2020/05/21 Javascript
JavaScript各类型的关系图解
2015/10/16 Javascript
复杂的javascript窗口分帧解析
2016/02/19 Javascript
JS动画定时器知识总结
2018/03/23 Javascript
jQuery length 和 size()区别总结
2018/04/26 jQuery
js实现图片局部放大效果详解
2019/03/18 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
[54:53]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第二场
2014/05/23 DOTA
[01:03:00]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第一局
2016/02/25 DOTA
python增加矩阵维度的实例讲解
2018/04/04 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
JupyterNotebook 输出窗口的显示效果调整方法
2020/04/13 Python
pycharm2020.1.2永久破解激活教程,实测有效
2020/10/29 Python
利用HTML5实现使用按钮控制背景音乐开关
2015/09/21 HTML / CSS
施华洛世奇天猫官方旗舰店:SWAROVSKI
2017/04/17 全球购物
Linux管理员面试经常问道的相关命令
2014/12/12 面试题
思想品德自我鉴定
2013/10/12 职场文书
银行见习期自我鉴定
2014/01/29 职场文书
贷款委托书范本
2014/04/08 职场文书
租房协议书范本
2014/04/09 职场文书
竞聘演讲稿
2014/04/24 职场文书
2014最新毕业证代领委托书
2014/09/26 职场文书
财务整改报告范文
2014/11/05 职场文书
图片批量处理 - 尺寸、格式、水印等
2022/03/07 杂记
Windows Server 2012 修改远程默认端口3389的方法
2022/04/28 Servers
Android RecyclerView实现九宫格效果
2022/06/28 Java/Android
源码安装apache脚本部署过程详解
2022/09/23 Servers