手机版

从零开始学习Node.js系列教程三:图片上传和显示方法示例

时间:2021-09-05 来源:互联网 编辑:宝哥软件园 浏览:

本文实例讲述了Node.js图片上传和显示方法。分享给大家供大家参考,具体如下:

index.js

var server=require(' ./server’);var router=require(' ./router’);var requestHandlers=require(' ./RequestHandlers’);var handle={ } handle['/']=请求处理程序。开始;handle['/start ']=RequestHandlers。开始;handle['/upload ']=RequestHandlers。上传;handle['/show ']=RequestHandlers。展示;server.start(router.route,handle);server.js

var http=require(' http ');var URL=必选(' URL ');函数开始(路由,句柄){请求(请求,响应)上的函数} { var pathname=URL。解析(请求。网址).路径名;控制台。日志('收到对路径名的请求');路由(句柄、路径名、响应、请求);} http.createServer(onRequest).听(3000);控制台。日志('服务器已启动');} exports . start=startrequesthandlers . js

var query string=require(' query string ')、fs=require('fs ')、remarous=require(' remarous ');函数启动(响应){ console.log('请求处理程序开始被调用');var body=' html ' ' head ' ' meta http-equiv=' Content-Type ' Content=' text/html;charset=UTF-8' /' '/head' 'body ' '表单操作='/Upload ' enctype='多部分/表单-数据' ' '方法=“发布”输入类型='文件'名称='上传'多个='多个'输入类型=' submit '值='上传文件'/' '/表单' '/正文' '/html ';response.writeHead(200,{ ' Content-Type ' : ' text/html ' });response.write(正文);回应。end();}函数上传(响应,请求){ console.log('请求处理程序“上传”被调用');定义变量形式=新的强大IncomingForm();形式。uploaddir=' d : \ \ min \ \ nodejsexample 2 \ \ tmp ';console.log('即将解析1 ');form.parse(请求、函数(错误、字段、文件){ console.log('解析完成');控制台。日志(文件。上传。路径);fs。renamesync(文件。上传。路径,' d : \ \ min \ \ nodejs example 2 \ \ tmp \ \ test。png ');response.writeHead(200,{ ' Content-Type ' : ' text/html ' });response.write('收到的图像: br/');回应。write(' img src='/show '/');回应。end();});}函数show(response) { console.log('已调用请求处理程序show’);fs。read file(' d : \ \ min \ \ nodejs example 2 \ \ tmp \ \ test。png ','二进制',函数(错误,文件){ if(错误){ response.writeHead(500,{ ' Content-Type ' : ' text/plain ' });response.write(错误\ n ');回应。end();} else { response.writeHead(200,{ ' Content-Type ' : ' image/png ' });response.write(文件,' binary ');回应。end();} });} exports . start=startexports . upload=上传;exports.show=showrouter.js

函数路由(句柄、路径名、响应、请求){ console.log('即将为路径名路由请求);if(句柄[路径名]===' function '){句柄[路径名](响应,请求);} else { console。日志('路径名'找不到请求处理程序);response.writeHead(404,{ ' Content-Type ' : ' text/html ' });response.write('404未找到');回应。end();} } exports.route=route结果:

知识点:

其中用到了满量程模块的读取文件读取文件,它有同步和异步两个版本node.js。中,并不是所有的应用程序接口都提供了异步和同步版本,node.js不鼓励使用同步输入/输出。

//这是async异步/* fs.readFile调用只是为了向操作系统发送异步I/O请求,然后立即返回并执行下面的语句,执行后再进入事件循环监听事件。当fs收到I/O请求完成事件时,事件循环会主动调用回调函数完成后续工作。*/var fs=require(' fs ');fs.readFile('file.txt ',' utf-8 ',函数(err,data){ if(err){ console . error(err);} else { console.log(数据);}});//这是sync sync var fs=require(' fs ');var data=fs . readfilesync(' file . txt ',' utf-8 ');console.log(数据);console.log('end ');希望本文对nodejs程序的设计有所帮助。

版权声明:从零开始学习Node.js系列教程三:图片上传和显示方法示例是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。