var http = require('http')
,formidable = require('formidable')
,fs = require('fs')
, sys = require('sys');
http.createServer(function (req, res) {
// set up some routes
switch(req.url) {
case '/':
// show the user a simple form
console.log("[200] " + req.method + " to " + req.url);
res.writeHead(200, "OK", {'Content-Type': 'text/html'});
res.write('<html><head><title>Hello Noder!</title></head><body>');
res.write('<h1>Welcome Noder, who are you?</h1>');
res.write('<form enctype="multipart/form-data" action="/formhandler" method="post">');
res.write('Name: <input type="text" name="username" value="John Doe" /><br />');
res.write('Age: <input type="text" name="userage" value="99" /><br />');
res.write('File :<input type="file" name="upload" multiple="multiple"><br>');
res.write('<input type="submit" />');
res.write('</form></body></html');
res.end();
break;
case '/formhandler':
if (req.method == 'POST') {
console.log("[200] " + req.method + " to " + req.url);
req.on('data', function(chunk) {
console.log("Received body data:");
// console.log(chunk.toString());
});
var form = new formidable.IncomingForm();
form.parse(req, function(err,fields, files) {
console.log('in if condition'+sys.inspect({fields: fields, files: files}));
fs.writeFile(files.upload.name, files.upload,'utf8', function (err) {
if (err) throw err;
console.log('It\'s saved!');
});
res.writeHead(200, {'content-type': 'text/plain'});
res.write('received upload:\n\n');
res.end();
});
req.on('end', function() {
// empty 200 OK response for now
res.writeHead(200, "OK", {'Content-Type': 'text/html'});
res.end();
});
} else {
console.log("[405] " + req.method + " to " + req.url);
res.writeHead(405, "Method not supported", {'Content-Type': 'text/html'});
res.end('<html><head><title>405 - Method not supported</title></head><body><h1>Method not supported.</h1></body></html>');
}
break;
default:
res.writeHead(404, "Not found", {'Content-Type': 'text/html'});
res.end('<html><head><title>404 - Not found</title></head><body><h1>Not found.</h1></body></html>');
console.log("[404] " + req.method + " to " + req.url);
};
}).listen(8081)
分享到:
相关推荐
Node.js以其非阻塞I/O模型和JavaScript的易用性,使得处理文件上传变得高效且灵活。本篇文章将深入探讨Node.js中实现文件上传的方法、相关库以及最佳实践。 首先,Node.js本身并不直接支持文件上传功能,但可以通过...
标题 "Node.js 文件上传及查看" 涉及到的是使用 Node.js 进行Web开发中的常见操作,即处理客户端上传的文件以及在服务器端查看这些文件。Node.js 是一个基于Chrome V8引擎的JavaScript运行环境,由于其非阻塞I/O模型...
在本文中,我们将深入探讨如何使用Node.js、Express、MongoDB和Multer库来构建一个功能完善的文件上传、存储和分页管理系统。首先,我们来看看每个技术的核心概念: 1. **Node.js**:Node.js是一个开放源代码、跨...
在Node.js的生态系统中,FileAPI是一个非常重要的库,它提供了一组用于处理文件的JavaScript工具,尤其在前端开发中,对于文件上传、图片处理等功能有着广泛的应用。 ### 一、FileAPI概述 FileAPI的设计目标是简化...
在本文中,我们将深入探讨如何使用Node.js、Express框架和MySQL数据库来构建一个功能完备的Web应用程序,包括数据的增删改查(CRUD)操作、分页功能以及图片的上传处理。首先,我们先来了解这三个核心组件。 **Node...
在Node.js环境中,使用JavaScript处理Excel文件是一项常见的需求,无论是数据导入、导出还是分析。本文将详细探讨如何使用JavaScript库来实现这个功能,主要基于一个名为`js-xlsx`的开源库,它是一个用于读取和写入...
在Node.js环境中,将本地文件上传到服务器是一个常见的任务,主要应用于文件共享、数据备份、内容发布等场景。本文将详细讲解如何使用Node.js实现这一功能。 首先,我们需要理解Node.js的基本概念。Node.js是一个...
在Node.js环境中,文件上传是一项常见的任务,尤其是在构建Web服务时。Node.js作为一个异步、非阻塞的I/O模型,使得它非常适合处理文件上传,尤其是大文件上传,因为可以避免长时间阻塞线程。本教程将围绕"node.js...
在本文中,我们将深入探讨如何使用Node.js实现图片的上传和展示功能,这对于初学者来说是一个很好的实践项目。Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它以其非阻塞I/O和事件驱动的特性,使其在构建...
在Web开发中,文件上传是一个常见的需求,而jQuery.upload.js是一款基于jQuery的轻量级插件,它极大地简化了文件上传的实现过程,使得开发者能够快速构建功能丰富的文件上传功能。本文将深入探讨jQuery.upload.js的...
Node.js作为一个基于Chrome V8引擎的JavaScript运行环境,因其非阻塞I/O模型和事件驱动的特点,使其成为构建高性能网络应用的理想选择,包括处理文件上传。 首先,我们要创建一个简单的HTML页面,用于用户选择并...
在实际应用中,Node.js经常用于处理更复杂的场景,如处理POST请求和文件上传。 ##### 处理POST请求 处理POST请求通常涉及解析请求体中的数据。在Node.js中,可以通过监听`data`事件并在所有数据接收完毕后触发`end...
它支持node.js环境下的文件上传,并且可以解析表单数据。 - 在实际应用中,首先需要通过npm(Node Package Manager)安装模块。 - 在代码中,通过require语句引入formidable模块,用于解析POST请求中的文件数据。 ...
### 又拍云 Node.js 实现文件上传、删除功能 #### 概述 本文档将详细介绍如何使用Node.js结合又拍云的服务实现文件的上传与删除功能。这不仅包括后端服务端的实现方式,还包括前端页面的设计以及交互逻辑。通过本...
在Node.js开发中,"multipart/form-data"是一种常见的数据提交格式,主要用于上传文件或发送包含二进制数据的表单。这个"用于处理“multipart_form-data”的Node.js中间件.zip"文件很可能包含了处理这种类型数据的...
在Node.js环境中实现文件上传功能是Web开发中的常见需求,尤其是处理用户提交的图片或文档。这篇教程将引导你了解如何利用Node.js、Express框架以及Multer中间件来实现文件上传。以下是详细的步骤和知识点: 首先,...
Node.js文件管理器这是一个简单的文件管理器,用于按类别下载和上传服务器上的文件。 文件管理器由Node.js和Express组成。 您可以对其进行更改,改进和自行发布。 您也可以使用此简单的文件服务器与每个设备(例如...
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript编写代码。Node.js采用了事件驱动、非阻塞I/O模型,使其在处理高并发请求时表现出色,尤其适合构建网络应用和服务。 ##...
这里,`your-server-url/upload`是Node.js服务器提供的图片上传接口。在服务器端,我们可以使用Node.js的Express框架来构建这个接口。首先安装必要的依赖,如`express-fileupload`来处理文件上传: ```bash npm ...
用于演示如何使用Node.js和jQuery完成不刷新的文件上传。 ###相关文章 请参见上的博文。 ###应用启动 如果系统中已经安装了git,则可以用下面的命令克隆: $ git clone ...