node.js实现上传文件功能

 更新时间:2019年07月15日 15:24:23   作者:西江无月  
这篇文章主要为大家详细介绍了node.js实现上传文件功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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

点击回车运行文件

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

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

相关文章

  • 详解nodeJS中读写文件方法的区别

    详解nodeJS中读写文件方法的区别

    本篇文章主要介绍了详解nodeJS中读写文件方法的区别,nodejs的fs模块针对读操作为我们提供了readFile,read, createReadStream三个方法,有兴趣的可以了解一下。
    2017-03-03
  • 详解Node.js 命令行程序开发教程

    详解Node.js 命令行程序开发教程

    一种编程语言是否易用,很大程度上,取决于开发命令行程序的能力。本篇文章主要介绍了Node.js 命令行程序开发教程,有兴趣的可以了解一下
    2017-06-06
  • Egret引擎开发指南之运行项目

    Egret引擎开发指南之运行项目

    Egret Framework是一款使用TypeScript语言构建的开源免费的移动游戏框架。Egret Framework的核心定位是开放,高效,优雅。通过它,你可以快速地创建HTML5类型的移动游戏,也可以将游戏项目编译输出成为目标移动平台的原生游戏应用。
    2014-09-09
  • 基于豆瓣API+Angular开发的web App

    基于豆瓣API+Angular开发的web App

    这篇文章主要介绍了基于豆瓣API+Angular开发的web App的方法和示例代码,效果非常棒,有需要的小伙伴参考下
    2015-01-01
  • 用npm-run实现自动化任务的方法示例

    用npm-run实现自动化任务的方法示例

    这篇文章主要介绍了用npm-run实现自动化任务的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • 阿里云ecs服务器中安装部署node.js的步骤

    阿里云ecs服务器中安装部署node.js的步骤

    这篇文章给大家介绍了在阿里云ecs服务器中安装部署node.js的详细步骤,对大家安装node.js具有一定的参考借鉴价值,有需要的朋友们下面来一起看看吧。
    2016-10-10
  • Node.js全局对象Global的实现

    Node.js全局对象Global的实现

    在Nodejs下全局变量和全局函数都是可以使用global来访问到的,本文主要介绍了Node.js全局对象Global的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • window10下node使用管理神器NVM安装配置超详细步骤

    window10下node使用管理神器NVM安装配置超详细步骤

    nvm全称Node Version Manager是 Nodejs 版本管理器,它让我们能方便的对 Nodejs 的版本进行切换,nvm 的官方版本只支持 Linux 和 Mac, Windows 用户,可以用 nvm-windows,这篇文章主要介绍了window10下node使用管理神器NVM安装配置超详细步骤,需要的朋友可以参考下
    2023-01-01
  • Express.JS使用详解

    Express.JS使用详解

    Express 是一个简洁而灵活的 node.js Web应用框架, 提供一系列强大特性帮助你创建各种Web应用。下面我们将逐步分析下,各位不要轻易离开
    2014-07-07
  • nodejs express实现中间件

    nodejs express实现中间件

    这篇文章主要为大家介绍了nodejs express实现中间件实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10

最新评论