Node.js实现文件上传功能
jopen
10年前
作者: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——统一入口,包括请求处理器注册;</li>
- server.js——服务器模块,包括服务器创建,监听请求,执行路由策略;
- router.js——路由策略,根据请求url路由到相应的处理器进行请求处理;
- requestHandler.js——请求处理器; </ul>
完整源码请见:https://github.com/billfeller/nodejs-upload-image-demo
5. 启动服务器:
[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. 参考: