Node Express 上传文件

1, 安装上传文件依赖 multer => npm i multer -D

2, 基本使用

// 引入必要文件
let express = require(‘express‘);
let multer = require(‘multer‘);
let fs = require(‘fs‘);
let path = require(‘path‘);

// 初始化服务器
let app = express();
app.listen(80);

// 配置接收的文件在服务器的临时存放路径, any() 接收所有, 还有其他配置
app.use(multer({dest: ‘./www/upload/‘}).any());

// 响应请求, 基本的业务逻辑
app.use("/", function (req, res, next) {
    let ext = path.parse(req.files[0].originalname).ext; // 获取上传文件的扩展名
    let newFile = req.files[0].path + ext;  // 组装新文件名
    fs.rename(req.files[0].path, newFile, function (err) { // 重命名上传的文件
        if(err) {
            res.send("失败");
        } else  {
            res.send("上传成功")
        }
        res.end();
    });
});

// 托管静态文件
app.use(express.static("E:/HTML"));
时间: 2024-08-25 16:45:00

Node Express 上传文件的相关文章

Node.js上传文件

var formidable = require('formidable'); var util = require('util'); exports.upload = function(req,res){ var form = new formidable.IncomingForm(); form.encoding = 'utf-8'; form.uploadDir = "E:/file/upload";//目录需要已存在 /** * fields 表单中的其他属性 * files

nodejs express 上传文件 (格式 FormData)

前台代码使用jQuery的ajax: <script type="text/javascript"> $(function(){ $('#file_upload').click(function(){ var data = new FormData(); var files = $('#file')[0].files; if (files) { data.append('codecsv',files[0]); } $.ajax({ cache: false, type: '

node.js 上传文件

在工作中碰到了这样的需求,需要用nodejs 来上传文件,之前也只是知道怎么通过浏览器来上传文件,  用nodejs的话,  相当于模拟浏览器的行为. google 了一番之后,  明白了浏览器无非就是利用http协议来给服务器传输数据, 具体协议就是<RFC 1867 - Form-based File Upload in HTML>, 在浏览器上通过form 表单来上传文件就是通过这个协议,我们可以先看看浏览器给服务端发送了什么数据, 就可以依葫芦画瓢的把上传功能实现出来.说起form 表

express 如何上传文件的原理和实现

express 上传文件的原理和实现 原理 formidable multer COS 1.原理 1.1 要想了解express上传 我们先看看 nodejs原生上传是怎么实现的 let server = require('http').Server(app); server.listen(3000); 首先为了让express拥有原始http模块的一些功能 请不要使用 bodyParser 之类的中间件 因为不会next到这里 保持尽量原生. app.post('/upload', async

node.js express fs 获取已上传文件数据格式

{ "fieldName": "photo", "originalFilename": "1395130808991.jpg", "path": "tmpupload/25546-z8u01y.jpg", "headers": { "content-disposition": "form-data; name=\"photo\&

Nodejs学习笔记(八)--- Node.js + Express 实现上传文件功能(felixge/node-formidable)

目录 前言 formidable简介 创建项目并安装formidable 实现上传功能 运行结果 部分疑惑解析 写在之后 前言 前面讲了一个构建网站的示例,这次在此基础上再说说web的常规功能----文件上传,示例以一个上传图片的功能为例子 上传功能命名用formidable实现,示例很简单! PS:最近比较忙,距上一次更新已经比较久了^_^! formidable简介 nodejs原生实现上传还是比较麻烦,有兴趣的自已去参考一下网上有网友写的代码 这里选择了formidable,也是githu

node.js+react全栈实践-Form中按照指定路径上传文件并

书接上回,讲到“使用同一个新增弹框”中有未解决的问题,比如复杂的字段,文件,图片上传,这一篇就解决文件上传的问题.这里的场景是在新增弹出框中要上传一个图片,并且这个上传组件放在一个Form中,和其他文本字段一起提交给接口. 这里就有几个要注意的问题: 图片上传时最好能在前端指定图片类型,根据这个类型上传到指定的目录.比如这里是新增用户,上传用户图片,那么这里就指定类型是“user”,那么就把这个文件上传到服务器的upload/user目录中.这样方便后期维护,比如要把项目中的文件统一迁移到另外一

node 上传文件 http client to post file

node做http client 发送post数据是很容易的事情,但要上传文件就不是太容易了主要是因为上传文件的报文和普通post是不太一样的 要了解http post可以看下这个 https://imququ.com/post/four-ways-to-post-data-in-http.html npm上封装好的第三方库很多 比如request,我们来看下自己实现需要怎么做 首先要声称个随机串,这个是用来做分段的标记 var boundaryKey = Math.random().toStr

Node.js formidable 上传文件的实现

本案例来自Node.js入门书籍: http://www.nodebeginner.org/index-zh-cn.html 示例中只能上传并展示png图片,当然其他文件都是可行的,自己微调一下即可. 安装node.js: # curl -sL https://rpm.nodesource.com/setup | bash - # yum install -y nodejs  防火墙打开8888端口: Node.js自身处理上传文件会非常繁琐,可使用第三方的node-formidable来轻松处