这篇文章node.js+Android(使用HttpURLConnection和HttpClient)实现文件上传(见 http://www.linuxidc.com/Linux/2012-02/53532.htm ),使用的是formidable,上篇文章介绍了node.js connect 安装、介绍与实例(见 http://www.linuxidc.com/Linux/2012-02/53528.htm ),那就用connect写一个上传的例子。 主程序代码如下,保存为bodyParser.js,放在敲安装命令的目录下:
[javascript] - var connect = require("connect");
-
- var app = connect()
- .use(connect.static(__dirname + "/public"))
- .use(connect.bodyParser({uploadDir:__dirname +"/file",keepExtensions:true}))
- .use(connect.logger())
- .use(function(req, res, next){
- if ("GET" != req.method) return next();
- res.statusCode = 302;
- res.setHeader("Location", "form.html");
- res.end();
- })
- .use(function(req, res){
- res.setHeader("Content-Type", "text/html");
- res.write("<p>thanks " + req.body.name + "</p>");
- res.write("<ul>");
- console.log(req.body);
- console.log(req.files);
-
- if (Array.isArray(req.files.images)) {
- req.files.images.forEach(function(image){
- var kb = image.size / 1024 | 0;
- res.write("<li>uploaded " + image.name + " " + kb + "kb</li>");
- });
- } else {
- var image = req.files.images;
- var kb = image.size / 1024 | 0;
- res.write("<li>uploaded " + image.name + " " + kb + "kb</li>");
- }
-
- res.end("</ul>");
- });
-
- app.listen(8080);
- console.log("Server started on port 8080");
静态文件form.html代码如下,放在bodyParser.js同级的public文件夹下:
[html] - <html>
- <body>
- <form action="/" method="post" enctype="multipart/form-data">
- <input type="text" name="name" placeholder="Name:" />
- <input type="file" name="images" multiple="multiple" />
- <input type="submit" value="Upload" />
- </form>
- </body>
- </html>
代码比较简单,可以查看官方提供的API
http://senchalabs.github.com/connect/middleware-bodyParser.html,官方提供的例子
https://github.com/senchalabs/connect/blob/1.8.4/examples/bodyParser.js 效果同 node.js+android(使用HttpURLConnection和HttpClient)实现文件上传,需要的话查看这篇文章 见http://www.linuxidc.com/Linux/2012-02/53532.htm。node.js模块connect源码分析node.js实现tomcat经典例子猜数字相关资讯 Node.js
- Node.js v7 Beta版引入citgm (今 10:08)
- 基于Docker部署Node.js应用环境 (09月26日)
- Node.js v4.4.5发布下载 (05月25日)
| - Node.js HTTP Web 服务器代码 (09月26日)
- Ubuntu 16.04 64位 搭建 Node.js (09月25日)
- 为什么我从 Python 转战到 Node.js (05月17日)
|
本文评论 查看全部评论 (0)