在Express中使用Multiparty进行文件上传及POST、GET参数获取
Express 版本:4.14.1
在Express中,文件上传需要用到multiparty中间件,在项目目录中,通过npm install multiparty –save进行安装必要组件。
前端HTML代码,用于上传文件:
<form action="/upload" method="post" enctype="multipart/form-data">
<input id="lefile" type="file" name="filenames" multiple="multiple" />
<input type="submit" class="btn btn-primary" value="submit" />
</form>
单文件处理
后台NodeJs代码, 用于接收文件:
router.post('/upload', function(req, res) {
//生成multiparty对象,并配置上传目标路径
var form = new multiparty.Form();
//设置编辑
form.encoding = 'utf-8';
//设置文件存储路径
form.uploadDir = "E:/";
//上传完成后处理
form.parse(req, function (err, fields, files) {
var filesTmp = JSON.stringify(files, null, 2);
if (err) {
console.log('parse error: ' + err);
} else {
console.log('parse files: ' + filesTmp);
var inputFile = files['filenames'][0];
//重命名为真实文件名
fs.renameSync(inputFile.path, form.uploadDir+inputFile.originalFilename, function (err) {
if (err) {
console.log('rename error: ' + err);
} else {
console.log('rename ok');
}
});
}
res.writeHead(200, {'content-type': 'text/plain;charset=utf-8'});
res.write('received upload:\n\n');
res.end(util.inspect({fields: fields, files: filesTmp}));
});
});
module.exports = router;
多文件上传处理
//保存上传文件
files['filenames'].forEach(function(inputFile) {
//重命名为真实文件名
fs.renameSync(inputFile.path, form.uploadDir + projectName + "/" + inputFile.originalFilename,
function(err) {
if (err) {
console.log('rename error: ' + err);
} else {
console.log('rename ok');
}
});
});
获取参数值
此时,如果需要在上传文件的过程中获取post或者get参数,不能按照往常的做法,而是需要使用Multiparty中间件来获取,即在form.parse函数块中获取,如下所示:
form.parse(req, function (err, fields, files) {
projectName = fields['projectName'];
......
此处获取参数projectName的值。
在Express中使用Multiparty进行文件上传及POST、GET参数获取的更多相关文章
- zt对于C#中的FileUpload解决文件上传大小限制的问题设置
对于C#中的FileUpload解决文件上传大小限制的问题设置 您可能没意识到,但对于可以使用该技术上载的文件的大小存在限制.默认情况下,使用 FileUpload 控件上载到服务器的文件最大为 4M ...
- 分享知识-快乐自己:SpringMvc中的单多文件上传及文件下载
摘要:SpringMvc中的单多文件上传及文件下载:(以下是核心代码(拿过去直接能用)不谢) <!--设置文件上传需要的jar--> <dependency> <grou ...
- 在express项目中使用formidable & multiparty实现文件上传
安装 formidable,multiparty 模块 npm install formidable,multiparty –save -d 表单上传 <form id="addFor ...
- JAVA中使用FTPClient实现文件上传下载实例代码
一.上传文件 原理就不介绍了,大家直接看代码吧 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ...
- JAVA中使用FTPClient实现文件上传下载
在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件.下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件 ...
- action中实现对批量文件上传的封装
如今,文件(尤其是图片)上传,在前后台的应用相当普遍,上传头像.共享资料等已成为最基本应用.我们很希望通过一个万能的封装方法来实现一劳永逸的效果. 接下来,就来为大家介绍具体实现. 首先,我们需要一个 ...
- springboot中使用分页,文件上传,jquery的具体步骤(持续更新)
分页: pom.xml 加依赖 <dependency> <groupId>com.github.pagehelper</groupId> <arti ...
- SpringMVC中使用 MultipartFile 进行文件上传下载及删除
一:引入必要的包 <!--文件上传--> <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fil ...
- Spring中使用StandardServletMultipartResolver进行文件上传
从Spring3.1开始,Spring提供了两个MultipartResolver的实现用于处理multipart请求,分别是:CommonsMultipartResolver和StandardSer ...
随机推荐
- 简单总结scrapy使用方法
应课程需要写了几天爬虫,一开始使用requests+bs4的技术路线,但是速度不是很理想而且不能暂停,通过查阅资料,发现scrapy正是我需要的 做一下简短的记录: 首先应该毫不犹豫的scrapy s ...
- hdu4135 Co-prime 容斥原理
Given a number N, you are asked to count the number of integers between A and B inclusive which are ...
- Ajax异步请求原理的分析
我们知道,在同步请求模型中,浏览器是直接向服务器发送请求,并直接接收.处理服务器响应的数据的.这就导致了浏览器发送完一个请求后,就只能干等着服务器那边处理请求,响应请求,在这期间其它事情都做不了.这就 ...
- Python IDLE theme
#转自 http://www.2cto.com/os/201507/418532.html #win10+python3.5.2 #保护视力 .idlerc 目录下新建名为 config-highli ...
- React中jquery引用
安装jQuery npm i jquery -S 在那个地方使用jQuery就在什么地方引入jQuery import $ from 'jquery'
- shell-dict-uniq-count
shell dict #!/bin/bash result_file="a" declare -A mydict :>${result_file} total=`cat $ ...
- xencenter如何安装Centos7虚拟机系统
xencenter的ip地址192.168.245.134(win10系统) 首先我们在win10系统安装好xencenter(这个软件可以直接在xenserver启动后,通过访问xenserver的 ...
- <--------------------------StringBuffer的常用方法------------------------------>
StringBuffer定义: 是可变字符数组,是线程安全的可变字符序列. StringBuffer和String的区别: String是一个不可变的字符序列. 实例: public class St ...
- C++中的继承和多继承
一.学习笔记 1.继承 class Student : public Person { ... } 2.继承时权限派生类中可以直接访问父类的protected成员,但是不能访问其private成员,若 ...
- IntelliJ快捷键笔记
1.查找文件:Ctrl+Shift+N 2.大小写转换:Ctrl+Shift+U 3.get/set方法快捷键:Alt+Insert 4. 查看类继承关系:Ctrl+H或者Ctrl+Shift+Alt ...