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 相关文章推荐
Jquery下判断Id是否存在的代码
Jan 06 Javascript
js性能优化 如何更快速加载你的JavaScript页面
Mar 17 Javascript
js操作CheckBoxList实现全选/反选(在客服端完成)
Feb 02 Javascript
jQuery动态创建html元素的常用方法汇总
Sep 05 Javascript
浅谈JavaScript中的对象及Promise对象的实现
Nov 15 Javascript
关于Bootstrap弹出框无法调用问题的解决办法
Mar 10 Javascript
JavaScript中的Number数字类型学习笔记
May 26 Javascript
JS获取input file绝对路径的方法(推荐)
Aug 02 Javascript
js实现短信发送倒计时功能(正则验证)
Feb 10 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
Apr 24 Javascript
基于node.js实现微信支付退款功能
Dec 19 Javascript
解决vue2中使用axios http请求出现的问题
Mar 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
星际中一些鲜为人知的详细资料
2020/03/04 星际争霸
php无限遍历目录示例
2014/02/21 PHP
PHP之正则表达式捕获组与非捕获组(详解)
2015/07/29 PHP
php PDO异常处理详解
2016/11/20 PHP
PHP命令空间namespace及use的用法小结
2017/11/27 PHP
document.designMode的功能与使用方法介绍
2007/11/22 Javascript
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
基于jquery实现的定时显示与隐藏div广告的实现代码
2013/08/22 Javascript
javascript的创建多行字符串的7种方法
2014/04/29 Javascript
js 实现的可折叠留言板(附源码下载)
2014/07/01 Javascript
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
JS+CSS实现表格高亮的方法
2015/08/05 Javascript
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
JavaScript蒙板(model)功能的简单实现代码
2016/08/04 Javascript
总结几道关于Node.js的面试问题
2017/01/11 Javascript
客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
2017/08/26 Javascript
从零撸一个pc端vue的ui组件库( 计数器组件 )
2019/08/08 Javascript
解决layui调用自定义方法提示未定义的问题
2019/09/14 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
详解Python3.1版本带来的核心变化
2015/04/07 Python
详解Python的Django框架中的templates设置
2015/05/11 Python
python+influxdb+shell编写区域网络状况表
2018/07/27 Python
Python通过cv2读取多个USB摄像头
2019/08/28 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
2019/12/06 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
让你相见恨晚的十个Python骚操作
2020/11/18 Python
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
大二学期个人自我评价
2014/01/13 职场文书
《赶海》教学反思
2014/04/20 职场文书
校园安全标语
2014/06/07 职场文书
广告业务员岗位职责
2015/02/13 职场文书
个人求职意向书
2015/05/11 职场文书
Spring mvc是如何实现与数据库的前后端的连接操作的?
2021/06/30 Java/Android
Python+tkinter实现高清图片保存
2022/03/13 Python