nodejs文件上传组件multer使用
多图上传,发送端:
var express = require('express')
var rp = require('request-promise')
var fs = require("fs");
var app = express()
app.get('/send', function(req, res, next) {
var options = {
method: 'POST',
uri: 'http://127.0.0.1:3000/profile',
formData: {
avatar: [fs.createReadStream("./ad.jpg"), fs.createReadStream("./222.png")]
},
headers: {
// 'content-type': 'application/x-www-form-urlencoded'
}
};
rp(options)
.then(function(body) {
// POST succeeded...
res.send(body);
})
.catch(function(err) {
// POST failed...
res.send(err);
});
});
app.listen(3001);
接收端:
var express = require('express')
var multer = require('multer')
var _ = require("lodash");
var app = express()
var storage = multer.diskStorage({
//设置上传后文件路径,uploads文件夹会自动创建。
destination: function(req, file, cb) {
cb(null, './uploads')
},
//给上传文件重命名,获取添加后缀名
filename: function(req, file, cb) {
var fileFormat = (file.originalname).split(".");
cb(null, file.fieldname + '-' + Date.now() + "." + fileFormat[fileFormat.length - 1]);
}
});
var fileFilter = function(req, file, cb) {
cb(null, false); //这里设置为false则直接拒绝上传了,实际使用应为true
}
//添加配置文件到muler对象。
var upload = multer({
storage: storage,
fileFilter: fileFilter
});
var up = upload.array('avatar');
app.post('/profile', function(req, res, next) {
// req.file 是 `avatar` 文件的信息\
up(req, res, function(err) {
if (err) {
// An error occurred when uploading
res.send(err);
return
}
res.send("upload success");
// Everything went fine
})
});
app.post('/profile2', function(req, res, next) {
// req.file 是 `avatar` 文件的信息
console.log(req.body);
res.json({ "succ": true, "msg": "请求成功" });
});
app.listen(3000);
nodejs文件上传组件multer使用的更多相关文章
- Express文件上传之Multer
Express文件上传之Multer Multer是一个nodejs中间件,用来处理http提交multipart/form-data,也就是文件上传.它是在busboy的基础上开发的. 在我看来,M ...
- express文件上传中间件Multer详解
express文件上传中间件Multer详解 转载自:https://www.cnblogs.com/chengdabelief/p/6580874.html Express默认并不处理HTTP请 ...
- Atitit..文件上传组件选型and最佳实践总结(3)----断点续传控件的实现
Atitit..文件上传组件选型and最佳实践总结(3)----断点续传控件的实现 1. 实现思路:::元插件,元设置... 1 2. 实现流程downzip,unzip,exec 1 3. Zip ...
- Atitit..文件上传组件选型and最佳实践总结(2)----断点续传
Atitit..文件上传组件选型and最佳实践总结(2)----断点续传 1. 断点续传的原理 1 2. 如何判断一个插件/控件是否支持断点续传?? 1 3. 常用的组件选型结果::马 1 4. 自定 ...
- 异步文件上传组件 Uploader
Uploader是非常强大的异步文件上传组件,支持ajax.iframe.flash三套方案,实现浏览器的全兼容,调用非常简单,内置多套主题支持 和常用插件,比如验证.图片预览.进度条等,广泛应用于淘 ...
- 多文件上传组件FineUploader使用心得
原文 多文件上传组件FineUploader使用心得 做Web开发的童鞋都知道,需要经常从客户端上传文件到服务端,当然,你可以使用<input type="file"/> ...
- ASP中文件上传组件ASPUpload介绍和使用方法
[导读]要实现该功能,就要利用一些特制的文件上传组件.文件上传组件网页非常多,这里介绍国际上非常有名的ASPUpload组件 1 下载和安装ASPUpload 要实现该功能,就要利用一些特制的文件上 ...
- Atitit..文件上传组件选择and最佳实践的总结(2)----HTTP
Atitit..文件上传组件选型and最佳实践总结(2)----断点续传 1. 断点续传的原理 1 2. 怎样推断一个插件/控件是否支持断点续传?? 1 3. 经常使用的组件选型结果::马 1 4. ...
- 文件上传组件FileUpload 以及邮箱搭建JavaMail
文件上传与下载 1.1 文件上传 案例: 注册表单/保存商品等相关模块! --à 注册选择头像 / 商品图片 (数据库:存储图片路径 / 图片保存到服务器中指定的目录) 文件上传,要点: 前台: 1 ...
随机推荐
- Hibernate 框架学习
什么是hibernate框架? 1.它是应用在javaee 三层架构中的dao层 它的底层就是JDBC 它对JDBC进行了封装,好处就是不用写jdbc的代码,和sql语句,它是一个开源的轻量级框架,现 ...
- BZOJ4283: 魔法少女伊莉雅(最短路径图+最短路径树)
题面 传送门 题解 太长了不想写了→_→ 题解 //minamoto #include<bits/stdc++.h> #define R register #define inf 0x3f ...
- BZOJ 1922--大陆争霸(最短路)
1922: [Sdoi2010]大陆争霸 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 2113 Solved: 947[Submit][Status ...
- robot framework接口测试之一-完整的测试用例
*** Settings *** Library Collections Library json Library requests Library RequestsLibrary Library H ...
- css编写规范最佳实践
最初,在编写CSS的时候,我们往往想到哪儿就写到哪儿,它们之间的关联性和有序性并不在考虑之中.但随着代码量的增加,亦或是多人共同开发,CSS的编写规范变得重要起来了.本文通过三个方面,总结出CSS编写 ...
- RHEL安装oracle客户端(版本为11.2)
RHEL安装oracle客户端(版本为 11.2) 1.获取超级管理员 命令:su - 输入root密码 2.安装依赖包: 命令:yum install -y binutils compat-libs ...
- HDU-1260-Tickets(线性DP,DP入门)
Tickets Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- java连接hbase时出现....is accessible from more than one module:
今天在用java程序连接hbase时,出现错误,The package org.apache.hadoop.hbase is accessible from more than one module: ...
- 2019.4.24 3D效果滚筒导航练习
效果图: 彩千圣天下第一!(小声bb) 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...
- JDK下载安装以及环境变量的配置
JDK是Java Development Kit 的缩写,是 Java 语言的软件开发工具包,主要用于移动设备.嵌入式设备上的java应用程序. 一.JDK的下载 这里以Oracle官网下载为例 1. ...