开发者社区> 乌云上> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Node.js Express 框架2

简介: 文件上传 以下我们创建一个用于上传文件的表单,使用 POST 方法,表单 enctype 属性设置为 multipart/form-data。 index.html 文件上传表单 文件上传: 选择一个文件上传:    server.
+关注继续查看

文件上传

以下我们创建一个用于上传文件的表单,使用 POST 方法,表单 enctype 属性设置为 multipart/form-data。

index.html

<html>
<head>
<title>文件上传表单</title>
</head>
<body>
<h3>文件上传:</h3>
选择一个文件上传: <br />
<form action="/file_upload" method="post" enctype="multipart/form-data">
<input type="file" name="image" size="50" />
<br />
<input type="submit" value="上传文件" />
</form>
</body>
</html>

  

server.js

var express=require('express');
var app=express();
var bodyParser=require('body-parser');

var fs=require('fs');
var multer=require('multer');

app.use(express.static('public'));
//创建application/x-www-form-urlencoded编码解析
app.use(bodyParser.urlencoded({extended:false}));
app.use(multer({dest:'/tmp/'}).array('image'));

var server=app.listen(8081,onRequest);

app.post('/file_upload',function(req,res){
	
	console.log(req.files[0]);//上传文件信息
	
	var des_file=__dirname+'/'+req.files[0].originalname;
	fs.readFile(req.files[0].path,function(err,data){
		fs.writeFile(des_file,data,function(err){
			if(err){
				console.log(err);
			}else{
				response={
					message:'File upload successfully',
					filename:req.files[0].originalname
				};
			}
			console.log(response);
			res.end(JSON.stringify(response));
		});
	});
});

app.get('/index.html',function(req,res){
	res.sendFile(__dirname+'/'+'index.html');
});

function onRequest(){
	var host=server.address().address;
	var port=server.address().port;
	console.log('应用实例,访问地址为 http://%s:%s', host,port);
}

  

浏览器访问 http://127.0.0.1:8081/index.htm,如图所示:

返回信息:

 

到server.js的目录查看,文件已经上传:

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
基于Node+Vue.js高质量商城系统的开发
下面看一下开发的基于Node+Vue.js高质量商城系统的开发系统。
37 0
面向WEB开发人员的Docker(七):使用 Docker 开发Node应用程序
到目前为止,已经使用了预构建的 Docker 镜像,例如MySQL、Vue、Nginx和WordPress。都比较实用,本节来介绍在容器中开发NodeJs应用程序。
194 0
【详细教程】教你如何使用Node + Express + Typescript开发一个应用(二)
Express是nodejs开发中普遍使用的一个框架,下面要谈的是如何结合Typescript去使用。
206 0
【详细教程】教你如何使用Node + Express + Typescript开发一个应用(一)
Express是nodejs开发中普遍使用的一个框架,下面要谈的是如何结合Typescript去使用。
263 0
开发一个Node命令行小玩具全过程--高颜统计工具
命令行工具对于我们来说非常的熟悉,一些命令行的操作也极大的简化了我们的日常工作。本文就基于我写的一个Node命令行代码计数器来进行展开。
31 0
【教程】前端 Vue+Node+MongoDB高级全栈开发
本课程是Vue.js+Node.js高级实战课程,对您的学习能力及基础都有很高要求: 精通HTML、 CSS和javascript编程
1632 0
electron-利用node开发桌面应用
简介 web前端语言的发展有目共睹, 从原来的pc web, 到后来的mobile SAP, 再到 nodejs,全站工程师应运而生. js快速而且稳健的发展让人不得不重视, 相应的前端开发人员的地位也越来越高, 越来越多的人愿意投入到前端的阵营里去.
1818 0
+关注
乌云上
熟悉MySQL,SQL Server等数据库,熟悉.NET和Java相关领域, 擅长.NET ,PHP,Python,Node.js,SQL Server,jQuery 喜欢音乐和诗歌的技术宅
文章
问答
文章排行榜
最热
最新
相关电子书
更多
探究 Node.js 的服务端之路
立即下载
基于 OpenResty 和 Node.js 的个推微服务实践
立即下载
基于 Node.js 内核的企业级性能解决方案
立即下载