要和上一篇转载一起看。
《Nodejs入门》一书确实很好的入门工具书,不过其中的一些代码还是和我们的实际开发环境不同。比如该书中的最后一个例子,上传图片到服务器。
其中存在的问题的一部分源代码如下(处理上传文件):
Js代码
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如何获取这个字段的值呢?
Js代码
...
form.parse(req, function(error, fields, files){
//filename为<input>标签中name属相的值
var filename = fields["filename"];
...
});
...
综上所述下面是upload方法完整的代码:
Js代码
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开发者还是对...
6. **文件系统操作**:Node.js提供了丰富的API用于操作文件系统,这在《node.js开发指南》和《NodeJs入门》中会进行详细讲解。 7. **流(Stream)**:Node.js中的流是处理大量数据的有效方式,适用于读写大文件或网络...
NodeJs入门学习文档,对于新手刚接触NodeJs有一定的帮助
nodejs(一、二、三、四、五)入门源代码,对应分类:https://blog.csdn.net/zengraoli/category_10327904.html ...nodejs入门(一)、nodejs入门(二)、nodejs入门(三)、nodejs入门(四)、nodejs入门(五)
nodejs七本书帮助学习:《Node+Web开发》、《Node,+Up+and+Running》、《Node.js+开发指南》、《NODE.js入门手册》、《Node+Web开发》、《Node入门》、《深入浅出Node.js》
nodejs入门到实战(一、二、三)源代码,对应分类:https://blog.csdn.net/zengraoli/category_10327904.html 中的文章 nodejs入门到实战(一)、nodejs入门到实战(二)、nodejs入门到实战(三)
本书致力于教会你如何用 Node.js 来开发应用,过程中会传授你所有所需的“高级”JavaScript 知识。本书绝不是一本“Hello World”的教程。 本书最适合与我有相似技术背景的读者: 至少对一门诸如 Ruby、 Python、...
NodeJS是一种基于Chrome V8引擎的JavaScript运行环境,它的出现使得JavaScript可以被用于服务器端编程,打破了以往JavaScript只能在浏览器中执行的限制。本压缩包包含了一份NodeJS入门手册(NODE.js入门手册.pdf)和...
2019最新nodeJS从入门到大神.txt----------百度云盘下载地址
typescript使用nodejs实现简繁体转换,可以转换子文件夹, 运行方式:将文件复制到工程的files文件夹,运行node app.js "" s2t(简体转繁体)或node app.js "" t2s(繁体转简体)即可
NodeJs思维导图总结
在 NodeJS 中,一个文件就是一个模块(这个文件可能是 JavaScript 代码、JSON 或者编译过的 C/C++ 扩展等等)。模块化的好处是避免命名冲突(减少命名空间污染),更好的分离、按需加载、更高复用性、高可维护性。 ...
money.js 是一个货币转换的微型 javascript 库,可在 nodeJS 和浏览器中使用
在"NodeJS入门项目案例(Express+Mysql)服务端开发.pdf"文件中,你将找到详细的步骤指导和代码示例,帮助你一步步完成整个项目。这个项目不仅涵盖了基础的NodeJS服务端开发,还涉及到数据库操作和RESTful API设计,...
标题中的“Node.js-这是一个nodejs库可以把一个多页的pdf转成多页png图片”表明了这个项目是一个基于Node.js的库,其主要功能是将PDF文档转换为多个PNG图像,每一页PDF对应一张PNG图片。这样的工具在需要对PDF进行...
Node初学者入门 , 一本全面的NodeJS 教程,Manuel Kiessling著
Node.js 是一种基于 Chrome V8 引擎的 JavaScript 运行环境,设计用于构建可扩展的网络应用。它的主要特点是异步非阻塞I/O和事件驱动,使得它在处理高并发请求时表现优异。 1. **问题背景** - 在传统的服务器程序...