一 安装依赖包

npm install multer --save

二 客户端上传文件

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form action="http://localhost:3000/test/upload" method="post" enctype="multipart/form-data">
<div>
<input name="mobile" placeholder="请输入电话号码"/>
</div>
<div>
<input type="file" name="photo" />
</div>
<div>
<button type="submit">提交</button>
</div>
</form>
</body>
</html>

三 服务器接受文件

const express = require('express');
const router = express.Router();
const mysql = require('mysql');
var multer = require('multer');
var upload = multer({
storage : multer.diskStorage({ // 只能从dest、storage中二选一
destination : (req,file,cb)=>{
cb(null,process.cwd()+'/uploads');
},
filename : (req,file,cb)=>{ // 将上传的文件重新命名
cb(null,file.fieldname+new Date().getTime()+file.originalname.substring(file.originalname.lastIndexOf('.')));
}
})
}); let conn = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '123456',
database : 'ionic'
}); conn.connect(); /*
* 接收图片
*/ router.post('/upload',upload.single('photo'),(req,res,next)=>{
res.setHeader('Access-Control-Allow-Origin','*'); // 跨域
let sql = 'update user set photo=? where mobile=?';
let params = [req.file.filename,req.body.mobile];
conn.query(sql,params,(err,result)=>{ // 写入数据库
if(err){
res.json({
code : 0,
msg : '[INSERT ERROR] - '+err.message
});
}else{
res.json({
code : 1,
msg : '上传成功',
data : {
filename : req.file.filename
}
});
}
});
}); module.exports = router;

 

Node使用 Express框架,实现文件上传的更多相关文章

  1. node.js使用express框架进行文件上传

    关于node.js使用express框架进行文件上传,主要来自于最近对Settings-Sync插件做的研究.目前的研究算是取得的比较好的进展.Settings-Sync中通过快捷键上传文件,其实主要 ...

  2. 使用Node.js的Express框架进行文件上传

    我们先创建一个Express项目,要使用文件上传的功能还需要下载multer模块. npm install --save multer 下面我们在public文件夹下创建upload.html,内容如 ...

  3. jersey框架实现文件上传

    jersey框架是一个开源的RESTful的框架,实现了实现了JAX-RS规范,进一步地简化 RESTful service 和 client 开发.当然而且是必须的,jersey对文件的上传和下载也 ...

  4. layUI框架中文件上传前后端交互及遇到的相关问题

    下面我将讲述一下我在使用layUI框架中文件上传所遇到的问题: 前端jsp页面: <div class="layui-form-item"> <label cla ...

  5. 使用SpringMVC框架实现文件上传和下载功能

    使用SpringMVC框架实现文件上传和下载功能 (一)单个文件上传 ①配置文件上传解释器 <!—配置文件上传解释器 --> <mvc:annotation-driven>&l ...

  6. 关于我使用spring mvc框架做文件上传时遇到的问题

    非常感谢作者 原文:https://blog.csdn.net/lingirl/article/details/1714806 昨天尝试着用spring mvc框架做文件上传,犯了挺多不该犯的毛病问题 ...

  7. SpringMVC框架06——文件上传与下载

    1.文件上传 Spring MVC框架的文件上传是基于commons-fileupload组件的文件上传,只不过Spring MVC框架在原有文件上传组件上做了进一步封装,简化了文件上传的代码实现. ...

  8. 笨鸟先飞之Java(一)--使用struts2框架实现文件上传

    无论是.net还是Java,我们最常接触到的就是文件的上传和下载功能,在Java里要实现这两个经常使用功能会有非常多种解决方案,可是struts2的框架却能给我们一个比較简单的方式,以下就一起来看吧: ...

  9. 第三百一十九节,Django框架,文件上传

    第三百一十九节,Django框架,文件上传 1.自定义上传[推荐] 请求对象.FILES.get()获取上传文件的对象上传对象.name获取上传文件名称上传对象.chunks()获取上传数据包,字节码 ...

  10. node.js中 express + multer 处理文件上传

    multer中间件,可以很方便的结合express处理用户表单上传的文件. 一.安装multer npm install multer 二.处理单个文件上传 const express = requi ...

随机推荐

  1. git push error HTTP code = 413

    error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity Too Large 将 ...

  2. node.js定时任务 node-schedule

    先安装 node-schedule npm install node-schedule //1:确定时间 //例如:2014年2月14日,15:40执行 var schedule = require( ...

  3. 深度学习原理与框架-神经网络架构 1.神经网络构架 2.激活函数(sigmoid和relu) 3.图片预处理(减去均值和除标准差) 4.dropout(防止过拟合操作)

    神经网络构架:主要时表示神经网络的组成,即中间隐藏层的结构 对图片进行说明:我们可以看出图中的层数分布: input layer表示输入层,维度(N_num, input_dim)  N_num表示输 ...

  4. html表单中get与post之间的区别

    当用户在 HTML 表单 (HTML Form) 中输入信息并提交之后,有两种方法将信息从浏览器传送到 Web 服务器 (Web Server). 一种方法是通过 URL,另外一种是在 HTTP Re ...

  5. Model操作补充

    参考: http://www.cnblogs.com/wupeiqi/articles/6216618.html

  6. 1.Python基础知识小结:

    Python3下载地址:https://www.python.org/downloads/windows/ python3 windows安装参考地址: https://jingyan.baidu.c ...

  7. zookeeper和dubbo的关系

    Dubbo建议使用Zookeeper作为服务的注册中心. 1.   Zookeeper的作用:         zookeeper用来注册服务和进行负载均衡,哪一个服务由哪一个机器来提供必需让调用者知 ...

  8. Java 配置环境变量教程

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...

  9. KVM虚拟化技术(五)虚拟机管理

    一.为了提高内存.硬盘.网络的性能,需要支持半虚拟化:virtio半虚拟化驱动 二.对虚拟机的管理都是通过libvirt:所有必须要启用一个守护程序libvirtd. 三.virt-manager ① ...

  10. OpenCV Python : No drawMatchesknn function

    2 down vote The functions cv2.drawMatches and cv2.drawMatchesKnn are not available in newer versions ...