Node.JS实战39:Express文件上传一例。

文件上传是很常见的实用功能。

本文演示如何用Express实现文件上传功能。

例程

本例需要两个文件及一个目录

test39.js:主程序;
index.html:用于上传文件的前端页面;
temp_folder:存放被上传的文件。

test39.js:

var express = require('express');

var app = express();


//form表单需要的中间件。

var mutipart= require('connect-multiparty');

var mutipartMiddeware = mutipart();

//临时文件的储存位置

app.use(mutipart({uploadDir:'./temp_file'}));


app.set('port',process.env.PORT || 8000);

app.listen(app.get('port'),function () {

console.log("Express started on http://localhost:"+app.get('port')+',press Ctrl-C to terminate.');

});


//浏览器访问localhost会输出一个html文件

app.get('/',function (req,res) {

res.type('text/html');

res.sendFile(__dirname+'/index.html')

});


//这里就是接受form表单请求的接口路径,请求方式为post。

app.post('/upload',mutipartMiddeware,function (req,res) {

//这里打印可以看到接收到文件的信息。

console.log(req.files);


//成功接受到浏览器传来的文件。我们可以在这里写对文件的一系列操作。例如重命名,修改文件储存路径 。等等。



//给浏览器返回一个成功提示。

res.send('upload success!');

});

index.html:

<html>

<head>

<meta charset="UTF-8">

<title>Title</title>

</head>

<body>

<form action="/upload" enctype="multipart/form-data" method="post">

<p>附件:<input type="file" name="myfile"></p>

<p><input type="submit"></p>

</form>

</body>

</html>

执行

启动test39,访问本机8000端口,

选择一个文件,并进行提交。

后台会显示出上传文件内容:

提交后,前端页面会显示上传成功。

来到temp_folder目录,查看被文件的文件:

文件上传成功。

发布了55 篇原创文章 · 获赞 1 · 访问量 654

猜你喜欢

转载自blog.csdn.net/w2sft/article/details/104020488