zoukankan      html  css  js  c++  java
  • 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

    点击回车运行文件

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

    完结

  • 相关阅读:
    进程、线程、轻量级进程、协程与 go 的 goroutine
    Base: 一种 Acid 的替代方案
    单点登录 SSO(Single Sign-On)的实现原理
    大型网站之分布式会话管理
    PayPal 高级工程总监:读完这 100 篇文献,就能成大数据高手
    主流编程语言的 33 款开源爬虫
    docker基础命令
    mysql实现首字母从A-Z排序
    solr+zookeeper集群配置
    Lucene与Solr基础
  • 原文地址:https://www.cnblogs.com/xjwy/p/8391068.html
Copyright © 2011-2022 走看看