《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文档——<<nodejs的中文入门手册>>。
Nodejs学习利器:Nodejs入门经典+源代码
nodejs入门--作者: Manuel Kiessling
[NodeJs]入门经典的代码示例 npm的formidable模块安装与环境设置靠大家自己了
nodeJS入门搭配原生Mysql实现个人博客,模块化开发,具体实现参考源码
Nodejs的入门教程的示例,没有错误的地方,可以方便的找到自己有什么错误的
初识NodeJS服务端开发(Express+Mysql)
nodejs(一、二、三、四、五)入门源代码,对应分类:https://blog.csdn.net/zengraoli/category_10327904.html 中的文章 nodejs入门(一)、nodejs入门(二)、nodejs入门(三)、nodejs入门(四)、nodejs入门(五)
关于Node.js的一本入门书籍,中文版。
需要的小伙伴可以下载。
nodejs入门PDF高清版。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
nodejs代码资源,主要用于统计前端项目中的代码行数、空行行数、注释行数、以及注释率,可通过目录或文件以及文件格式进行过滤筛选,统计出想要的代码文件的行数。 资源代码非常简单方便,代码清晰明了,注释也很...
Nodejs入门
NodeJs入门学习文档,对于新手刚接触NodeJs有一定的帮助
2019最新nodeJS从入门到大神.txt----------百度云盘下载地址
nodejs 入门文档,仅此文档,可以帮助很多人入门学习
nodejs入门3路由1
NodeJS