node.js使用multiparty上传文件

multiparty使用:multiparty文档 https://www.npmjs.com/package/multiparty

下面介绍一下利用formData向后台提交图片的过程:写在前面的话:

1.实例中前端使用的是vue.js,不过并不影响上传思路.2.后台通过multiparty来解析formData

step1:先来看一看前端上传部分的代码:

这是我写的一个上传图片的组件,这里并没有进行图片压缩处理(我们可以用canvas来进行图片压缩,自行搜索下即可)。

这一段其实也很好理解,就是将图片的formData传到后台去处理。

step2:后台安装multiparty插件:

npm install multiparty

step3:后台处理获取上传的图片:

我们创建一个uploadImg.js用来专门对上传的图片进行处理,我们通过post localhost:3000/uploadImg来上传图片

前面介绍过对路由分模块处理:https://www.cnblogs.com/lewis-messi/p/9087258.html

 1 /**
 2  * 管理员模块uploadImg.js
 3  * @authors lewis
 4  * @date    2018年5月23日10:13:29
 5  * @description 上传图片
 6  */
 7
 8
 9 var express = require(‘express‘);
10 var multiparty = require(‘multiparty‘);
11 var router = express.Router();
12 var util = require(‘../utils‘);
13
14 router.post(‘/‘, function(req, res) {
15     var form = new multiparty.Form();    //这里可以设置图片上传的路径,默认为当前用户下的temp文件夹
16     form.uploadDir = util.getRootDir() + "/static/img";
17     form.parse(req, function(err, fields, files) {
18        //files即为上传图片的信息
19     });
20 });
21
22 module.exports = router;

以下是files的一些信息:

当然拿到这些信息后,可以将文件进行下一步处理(更名):



原文地址:https://www.cnblogs.com/lewis-messi/p/9090052.html

时间: 2024-11-15 00:32:22

node.js使用multiparty上传文件的相关文章

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

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

Js 跨域上传文件

代码在github上( https://github.com/andygithubchen/jsUpload ),请结合github上的文件阅读. 主要实现js跨域上传文件,这里的跨域目前只在两个域名所指向的服务器在同一局域网内. 当然,这两种方案都可以做同域名上传. 例如: 192.168.1.60 www.test.cn 192.168.1.61 www.video.cn 如果要在www.test.com域名下上传文件到www.video.com域名下,可以使用下面这两个方案: 方案一(在s

关于JS提交file 上传文件

 最近因写一个上传功能,不能刷新页面,且页面得有后台返回的信息,因而不能使用form直接提交表单,尝试使用is提交并接受返回数据,不多说代码如下: 前台: <form id='pdf-form' enctype="multipart/form-data" method="POST" action="" > <input type="hidden" name="order_id" value

简单介绍使用GooUploader.js实现批量上传文件的方法(使用struts2)

最近的网站项目中需要实现上传pdf的功能,期间找了很多jquery的插件,都不能满足要求,最后找到GooUploader.js,由于自己是第一次接触上传文件的功能,虽然看了很多写地详细的博客,还是花了很长时间才应用到项目中,所以在这里自己总结一下. GooUploader.js插件是在swfupload.js基础上进行扩展的,有些比较好的特点: 1. 支持批量文件上传: 2. 上传文件时,选择文件后,可以选择单个文件上传,也可以选择批量文件上传: 3. 开始上传文件后,可以取消单个文件上传,也可

c#+js 使用formdata上传文件

如果不是使用form表单submit的形式,我们可以手动通过formdata传值(针对文件上传等) 比如: <html> <head> <meta name="viewport" content="width=device-width" /> <link href="~/jquery-easyui-master/themes/default/easyui.css" rel="stylesheet

js无刷新上传文件

传统的文件上传方式 <form action="" method="POST" enctype="multipart/form-data"> <input type="file" name="file"/> <input type="submit"/> </form> 在执行上传后,页面会跳转到action指定的地址. 一般用户需要使用无页

node.js实现图片上传(包含缩略图)

图片上传 使用multiparty插件实现上传 安装multiparty npm i --save multiparty 代码实现 const multiparty = require('multiparty'); let form = new multiparty.Form({uploadDir: upload.path}); 构造参数说明 encoding 设置接收数据编码,默认是utf-8 maxFieldsSize 限制字段可以分配的内存量,默认2M maxFields 限制在发出错误事

【cors跨域】H5 js跨域上传文件,C#服务端接收

H5原生js文件上传,带进度. js代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form action=""> &l

jquery.form.js ajax提交上传文件

项目中最近有用到表单提交,是带有图片上传的表单录入,需要ajax异步提交,网上找了好多例子都是只能提交上传字段一个信息的,这里整理一下.表单里有普通文本信息字段也有图片上传字段. 1.jsp代码--引入jquery和jquery.form.js        <script type="text/javascript" src="<%=basePath %>js/jquery-1.8.3.min.js"></script>