这篇文章主要为大家详细介绍了 node.js 图片上传的简单实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的 易于扩展的网络应用 · Node.js 借助事件驱动, 非阻塞 I/O 模型变得轻量和高效, 非常适合 运行在分布式设备 的 数据密集型 的实时应用
1.node-formidable
对文件上传提供帮助的组件
2.app.js
- var formidable = require('formidable');
- var http = require( 'http' );
- var sys = require('sys');
- http.createServer(function( request ,response ){
- if( request.url == '/upload' && request.method.toLowerCase() == 'post' )
- {
- console.log( 'upload requet ' )
- uploadRequest(request,response);
- return;
- }
- enterRequest(request,response)
- }).listen(3000);
- function enterRequest( request, response )
- {
- response.writeHead( 200, { 'Content-type' : 'text/html' });
- response.end(
- '<form action = "/upload" enctype="multipart/form-data" method="post" >' +
- '<input type = "text" name = "title" /> <br>' +
- '<input type = "file" name="upload" multiple="multiple"/> <br/>'+
- '<input type="submit" value="Upload Now"/>' +
- '</form>'
- );
- }
- /**
- * 处理上传的逻辑
- * @param request
- * @param response
- */
- function uploadRequest( request,response )
- {
- var form = new formidable.IncomingForm();
- form.parse( request, function ( err, fields, files ) {
- response.writeHead(200, {'Content-type' : 'text/plain'});
- response.write('reviced upload file');
- response.end( sys.inspect(
- {
- fields : fields,
- files : files
- }) );
- });
- }
来源: http://www.phperz.com/article/17/0623/329425.html