《Nodejs入门》一书确实很好的入门工具书,不过其中的一些代码还是和我们的实际开发环境不同。比如该书中的最后一个例子,上传图片到服务器。
其中存在的问题的一部分源代码如下(处理上传文件):
function upload( res, req){
console.log("request upload mehtod");
var form = new formidable.IncomingForm();
form.parse( req, function( error, fields, files){
fs.renameSync(files.upload.path, "tmp/"+filename+".png");
res.writeHead(200,{"Content-Type":"text/html"});
res.write("<img src='/show'/>"); //发送/show请求
res.end();
});
}
这里用到了formidable第三方模块,上面的代码总是报错“can not find File or Directory: c:\\......”;
原因是formidable默认上传文件的保存路径与项目路径不在同一相同路径中。如我的工程是在e盘。所以需要设置form.uploadDir = "tmp";//指向工程中的tmp文件夹
另外,fs.renameSync()保存文件会抛出异常,为了能让程序正常运行,这里需要添加try{}catch(e){}
如果我们像上传图片的同时,想在前台的一个输入框内设置一下名称,后台通过formidable如何获取这个字段的值呢?
...
form.parse(req, function(error, fields, files){
//filename为<input>标签中name属相的值
var filename = fields["filename"];
...
});
...
综上所述下面是upload方法完整的代码:
function upload( res, req){
console.log("request upload mehtod");
var form = new formidable.IncomingForm();
form.uploadDir = "tmp";
form.parse( req, function( error, fields, files){
console.log("parsing done");
var filename = fields['filename'];
console.log("filename = " + filename);
try{
fs.renameSync(files.upload.path, "tmp/"+filename+".png");
}catch( e){
console.log(e);
}
res.writeHead(200,{"Content-Type":"text/html"});
res.write("<img src='/show'/>"); //发送/show请求
res.end();
});
}
分享到:
相关推荐
NodeJS入门项目案例(Express+Mysql)是一个适合初学者的教程,旨在引导你进入Node.js服务端开发的世界。在这个项目中,我们将使用Express框架,一个简洁且强大的Web应用开发框架,以及Mysql,一个流行的开源关系型...
Nodejs的入门教程的示例,没有错误的地方,可以方便的找到自己有什么错误的
总结来说,"Nodejs入门经典"是一份针对Node.js初学者的宝贵资源,它涵盖了Node.js的基本概念、核心模块以及实际应用场景。配合源代码学习,能帮助读者快速上手并进阶到更高级的Node.js开发。无论你是Web开发者还是对...
这个“nodeJS基础入门”教程很可能是为了帮助初学者掌握 Node.js 的基本概念、语法以及如何与 MySQL 数据库进行交互,从而实现一个简单的个人博客系统。下面将详细阐述 Node.js 的核心特性、模块化开发以及如何结合...
nodejs(一、二、三、四、五)入门源代码,对应分类:https://blog.csdn.net/zengraoli/category_10327904.html 中的文章 nodejs入门(一)、nodejs入门(二)、nodejs入门(三)、nodejs入门(四)、nodejs入门(五)
6. **文件系统操作**:Node.js提供了丰富的API用于操作文件系统,这在《node.js开发指南》和《NodeJs入门》中会进行详细讲解。 7. **流(Stream)**:Node.js中的流是处理大量数据的有效方式,适用于读写大文件或网络...
nodejs代码资源,主要用于统计前端项目中的代码行数、空行行数、注释行数、以及注释率,可通过目录或文件以及文件格式进行过滤筛选,统计出想要的代码文件的行数。 资源代码非常简单方便,代码清晰明了,注释也很...
NodeJs入门学习文档,对于新手刚接触NodeJs有一定的帮助
2019最新nodeJS从入门到大神.txt----------百度云盘下载地址
nodejs入门到实战(一、二、三)源代码,对应分类:https://blog.csdn.net/zengraoli/category_10327904.html 中的文章 nodejs入门到实战(一)、nodejs入门到实战(二)、nodejs入门到实战(三)
其次,`node.js开发指南(随书源码).rar`包含了与书中的示例和练习对应的源代码,这些代码可以作为读者动手实践的素材。通过运行和修改这些源码,读者可以更直观地理解书中所讲解的概念和技术,加深对Node.js的理解...
NodeJS是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这个"NodeJS学习笔记和代码"的压缩包显然包含了帮助初学者掌握NodeJS基础知识和实践技能的所有必要资料。 ...
NodeJS是一种基于Chrome V8引擎的JavaScript运行环境,它的出现使得JavaScript可以被用于服务器端编程,打破了以往JavaScript只能在浏览器中执行的限制。本压缩包包含了一份NodeJS入门手册(NODE.js入门手册.pdf)和...
nodejs七本书帮助学习:《Node+Web开发》、《Node,+Up+and+Running》、《Node.js+开发指南》、《NODE.js入门手册》、《Node+Web开发》、《Node入门》、《深入浅出Node.js》
这些只是《ECMAScript 6 入门》教程中涵盖的一部分关键知识点,通过深入学习和实践,开发者可以更好地适应和利用JavaScript的最新特性,编写出更高效、更易于维护的代码。对于想要学习Node.js的开发者来说,理解并...
《node.js开发实战》,2018年1月版,忽如寄著,书中所有示例的代码
总的来说,《Node.js开发指南》是一本全面、深入的Node.js入门教材,配合随书代码,无论是对初学者还是有一定基础的学习者,都能从中获益匪浅。通过学习,读者不仅可以掌握Node.js的开发技术,还能进一步提升...
在 NodeJS 中,一个文件就是一个模块(这个文件可能是 JavaScript 代码、JSON 或者编译过的 C/C++ 扩展等等)。模块化的好处是避免命名冲突(减少命名空间污染),更好的分离、按需加载、更高复用性、高可维护性。 ...
为了提升性能,开发者有时会采用一种技术,即在Node.js中调用C++代码,这被称为“Node.js的C++扩展”。 标题"nodejs调用C++代码"指的就是这种技术,它允许我们利用Node.js的便捷性和C++的高性能。Node.js提供了一个...