`
jobar
  • 浏览: 347309 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用nodejs处理文件上传(1)

 
阅读更多
1 安装外部模块node-formidable
本模块的具体细节请参考https://github.com/felixge/node-formidable,它很好的抽象了解析上传文件的细节,使我们可以像处理post数据一样来处理上传的文件。
我们用nmp来安装formidable模块
C:\Users\xxx>npm install formidable
formidable@1.0.15 node_modules\formidable
安装成功
2 改写server模块
var formidable = require('formidable'),http = require("http"),sys = require('sys');

function start(route, handle) {
	function onRequest(request, response) {
		if(request.url == '/upload' && request.method.toLowerCase() == 'post'){
			var form = new formidable.IncomingForm();
			form.parse(request,function(error,fields,files){
				response.writeHead(200, {'content-type':'text/plain'});
				response.write('receive upload:\n\n');
				response.end(sys.inspect({fields: fields,files:files}));
			});
			return;
		}
		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">'+
		'</form>'
		);
	}
	http.createServer(onRequest).listen(8888);
	console.log("Server has started.");
}
exports.start = start;

3 上传文件后跳转到/upload页面显示结果
上传js文件
receive upload:
{ fields: { title: '2014 world cup' },
  files: 
   { upload: 
      { domain: null,
        _events: {},
        _maxListeners: 10,
        size: 301,
        path: 'C:\\Users\\xxx\\AppData\\Local\\Temp\\53608004f2340d6b0697e387eeaf3a91',
        name: 'index.js',
        type: 'application/javascript',
        hash: null,
        lastModifiedDate: Wed Jun 25 2014 16:37:31 GMT+0800 (China Standard Time),
        _writeStream: [Object] } } }

上传png图片
receive upload:

{ fields: { title: '2014 world cup' },
  files: 
   { upload: 
      { domain: null,
        _events: {},
        _maxListeners: 10,
        size: 429423,
        path: 'C:\\Users\\xxx\\AppData\\Local\\Temp\\2a4c267e11f0c3c3bae6c7e552e3f79f',
        name: 'chart1.png',
        type: 'image/png',
        hash: null,
        lastModifiedDate: Wed Jun 25 2014 16:49:18 GMT+0800 (China Standard Time),
        _writeStream: [Object] } } }
分享到:
评论

相关推荐

    nodejs上传下载管理文件

    通过定义路由,我们可以处理不同的HTTP请求(如GET和POST),比如处理文件上传和下载的请求。 2. **Multer中间件**:处理multipart/form-data类型数据,这是上传文件时常见的数据格式。Multer可以解析文件上传请求...

    WINDOWS下nodeJS文件上传完整DEMO

    2. **Multer中间件**:在Node.js中处理文件上传通常会用到`multer`库。Multer专门处理multipart/form-data类型的表单数据,这是HTML表单上传文件的标准格式。它可以帮助我们解析上传的文件,并将其存储到服务器的...

    php和Nodejs大文件分片上传

    Node.js以其非阻塞I/O和事件驱动特性,非常适合处理大量并发的文件上传。可以使用内置的`fs`模块读取和写入文件,以及`http`或`https`模块处理HTTP请求。前端与PHP类似,分片上传每个文件片段。在Node.js服务器端,...

    NodeJS本地上传文件至服务器

    在Express或其他web框架中创建一个路由,该路由将接收POST请求并处理文件上传: ```javascript const express = require('express'); const app = express(); app.post('/upload', upload.single('file'), ...

    NodeJS上传文件

    Node.js以其非阻塞I/O模型和丰富的生态系统,使得处理文件上传变得高效且易于实现。在本篇文章中,我们将深入探讨如何在Node.js中设置文件上传路径,并探讨如何扩展到更高级的文件存储服务,如七牛云存储。 首先,...

    NodeJs form-data格式传输文件的方法

    导致的问题是使用起来就不太方便了,比如用koa上传文件,网上资料有限,对于小白而言,文件上传操作就困难多了。 form表单上传文件流程(PHP和node js) 文件上传操作原理 form表单【注意:enctype=”multipart/form...

    结合html5+nodejs+express实现拖拽上传功能

    文件上传是一个比较常见的功能,传统的选择方式的上传比较麻烦,需要先点击上传按钮,然后再找到文件的路径,然后上传。给用户体验带来很大问题。html5开始支持拖拽上传的需要的api。nodejs也是一个最近越来越流行的...

    nodejs上传图片简单例子.zip

    在标签"nodejs 上传图片"中,我们可以推测这个示例将使用Node.js的HTTP服务器模块,以及可能的中间件来处理文件上传。常用的文件上传库有`multer`,它能方便地处理`multipart/form-data`类型的表单数据,这是HTML...

    NodeJS使用formidable实现文件上传

    在app.js文件中,你需要设置Express应用以处理文件上传。这通常包括设置静态文件目录和解析表单数据。以下是如何配置这些部分的示例: ```javascript const express = require('express'); const formidable = ...

    Nodejs实现文件上传的示例代码

    在Node.js环境中,文件上传是一项常见的任务,尤其在构建Web应用程序时。...在这个场景中,我们将深入探讨如何使用Express.js的中间件Multer来实现文件上传功能...这使得在Node.js环境中处理文件上传变得相当直观和简单。

    nodejs:文件上传

    二、使用multer处理文件上传 1. 安装multer:首先,你需要通过npm(Node.js包管理器)安装multer,命令为`npm install multer`。 2. 配置multer:创建multer实例并配置存储选项。你可以选择在内存中临时存储文件,...

    Node.js-基于nodejsexpressmongodbmulter实现的文件上传存储分页管理功能

    然后,在对应的路由处理函数中,使用Multer处理文件上传请求。 ```javascript const multer = require('multer'); const storage = multer.diskStorage({ destination: 'uploads/', filename: (req, file, cb) =&gt;...

    NodeJS整理手册文档

    - 文件管理系统:实现文件上传、下载、搜索等功能,可以结合前端界面实现交互。 - 数据库操作:通过MongoDB、MySQL等数据库驱动进行数据的增删改查,实现数据持久化。 - CLI工具:创建命令行工具,例如自动化脚本、...

    使用nodejs+express实现简单的文件上传功能

    首先,需要建立一个Express项目,然后引入multer中间件来处理文件上传,最后通过编写路由和文件处理逻辑来完成文件的接收与保存。 在Node.js开发过程中,Express是一个广泛使用的Web应用框架,它提供了强大的功能来...

    nodejs+express实现文件上传下载管理网站

    5. 项目示例: 标题中提到了一个具体的项目示例,该项目使用了Node.js和Express框架来实现一个文件上传下载管理网站,这为理解和学习文件管理网站的构建提供了很好的参考。 6. GitHub地址: 项目提供了GitHub地址,感...

    nodejs multer实现文件上传与下载

    本文实例为大家分享了nodejs实现文件上传下载的具体代码,供大家参考,具体内容如下 1.介绍 做了一个关于文件上传和下载的demo ,选择了Multer 作为中间件进行数据处理。 关于multer请参考中文翻译文档 ...

    Nfile是一个基于Node.js的简易文件系统支持文档的上传编辑和预览

    1. **文件上传**:用户可以通过简单的API接口将文件上传到服务器。Nfile可能支持多种文件类型,并且提供了验证和限制上传文件大小的机制,以防止恶意大文件占用过多服务器资源。 2. **文件编辑**:Nfile允许用户...

    DropIt是一个用nodejs构建的文件上传器Uploader

    在这个项目中,开发者利用了Node.js的非阻塞I/O模型和丰富的生态系统,实现了高效的数据处理能力,使得文件上传过程更为流畅。 在Node.js环境中,DropIt可能使用了Express框架作为web服务器的基础,因为Express是...

    一个简单的node文件上传程序

    在Express框架中,处理文件上传更加便捷。Express集成了`body-parser`中间件,可以轻松处理表单数据,同时也有`multer`的集成版本,简化了文件上传的配置和处理。 总结来说,Node.js中的文件上传涉及到HTTP协议、...

    nodejs中jquryfileupload异步上传的demo

    同时,由于jQuery File Upload需要与服务器进行交互,所以我们还需要安装一个用于处理文件上传的Node.js中间件,如multer: ```bash npm install multer --save ``` 在前端,我们需要在HTML中设置一个表单,包含一...

Global site tag (gtag.js) - Google Analytics