作者:zhanhailiang 日期:2014-11-16
本文将介绍怎样使用Node.js实现文件上传功能。
1. 初始化项目信息:npm init
[root@~/wade/nodejs/nodejs-upload-image-demo]# npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sane defaults.
See `npm help json` for definitive documentation on these fields
and exactly what they do.
Use `npm install <pkg> --save` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
name: (nodejs-upload-image-demo)
version: (1.0.0)
description: how to use node.js to upload an image
entry point: (index.js)
test command:
git repository: (https://github.com/billfeller/nodejs-upload-image-demo.git)
keywords:
author: billfeller
license: (ISC) MIT
About to write to /root/wade/nodejs/nodejs-upload-image-demo/package.json:
{
"name": "nodejs-upload-image-demo",
"version": "1.0.0",
"description": "how to use node.js to upload an image",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "https://github.com/billfeller/nodejs-upload-image-demo.git"
},
"author": "billfeller",
"license": "MIT",
"bugs": {
"url": "https://github.com/billfeller/nodejs-upload-image-demo/issues"
},
"homepage": "https://github.com/billfeller/nodejs-upload-image-demo"
}
Is this ok? (yes) yes
2. 改动package.json,配置启动命令:
"scripts": {
"start": "node index.js"
},
3. 安装依赖模块:npm install formidable –save
4. 功能实现:
- index.js——统一入口,包含请求处理器注冊;
- server.js——server模块,包含server创建,监听请求,运行路由策略;
- router.js——路由策略,依据请求url路由到对应的处理器进行请求处理;
- requestHandler.js——请求处理器;
完整源代码请见:https://github.com/billfeller/nodejs-upload-image-demo
5. 启动server:
[root@~/wade/nodejs/nodejs-upload-image-demo]# npm start
> nodejs-upload-image-demo@1.0.0 start /root/wade/nodejs/nodejs-upload-image-demo
> node index.js
server is starting
6. 通过浏览器訪问并上传图片:
6. 參考: