Node.js实现文件上传功能

jopen 9年前

  作者: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. 通过浏览器访问并上传图片:

    20141116020556750.png

    6. 参考:

    </div> </div> 来自:http://blog.csdn.net/billfeller/article/details/41162179