Node.js 读取图片
2017-10-22 17:05
232 查看
Node.js 读取图片
读取图片的时候需要注意response.writeHead()的内容需要改变为:response.writeHead(200,{'Content-Type' : 'image/jpeg'});
读取图片的时候,跟读取文件的时候有些不同:
var fs = require("fs"); module.exports = { readfileSync : function(path){//同步读取 var data = fs.readFileSync(path,'utf-8'); console.log(data); console.log("同步方法执行完毕"); }, readfile : function(path,recall){//异步执行 fs.readFile(path,function(err,data){ if(err){ console.log(err); }else{ recall(data); //回调recall函数,它是闭包函数,它会存储原来的response对象 console.log(data.toString()); } }); console.log("异步方法执行完毕"); }, readImg : function(path,res){ fs.readFile(path,'binary',function(err,file){ if(err){ console.log(err); return ; }else{ res.write(file,'binary'); res.end(); } }); } }
fs.readFile(path,’binary’,function(err,file){})的参数多了一个’binary’,以二进制流的方式读取。
res.write(file,’binary’);response也以二进制流的方式向浏览器输出。
最后我们在主程序中调用:
var http = require('http'); var optfile = require('./fs_read'); http.createServer(function(request,response){ response.writeHead(200,{'Content-Type' : 'image/jpeg'}); if(request.url != '/favicon.ico'){ optfile.readImg('./1.png',response); console.log("主程序结束"); } }).listen(8000); console.log('Server running at ' target='_blank'>http://127.0.0.1:8000');[/code]
有一点需要注意,改写为response.writeHead(200,{'Content-Type' : 'image/jpeg'});response就以二进制流的方式输出,你在写出任何的字节图片都不会出来,不管你是在调用readImg()方法之前还是之后。var http = require('http'); var optfile = require('./fs_read'); http.createServer(function(request,response){ response.writeHead(200,{'Content-Type' : 'image/jpeg'}); if(request.url != '/favicon.ico'){ response.write("Hello");//不能向客户端输出任何字节 optfile.readImg('./1.png',response); console.log("主程序结束"); } }).listen(8000); console.log('Server running at ' target='_blank'>http://127.0.0.1:8000');[/code]
图片无法显示:
相关文章推荐
- node.js学习之读取图片初步
- node.js读取Excel数据(下载图片)的方法示例
- ueditor 百度编辑器图片上传 接 node.js 及一些前端自定义
- node.js实现多图片上传实例
- js兼容火狐显示上传图片预览效果的方法(读取字节)
- node.js 下载图片的 2 种方式
- Node.js abaike图片批量下载Node.js爬虫1.01版
- angular.js+node.js实现下载图片处理详解
- summernote上传图片到本地服务器(node.js)
- express + node.js 入门(4)数据读取接口
- nw.js node-webkit系列(20)拖动文件到页面并读取文件信息
- 使用node.js获取图片的base64编码
- Node.js nvshens图片批量下载爬虫1.01
- Node.js等比例放倒缩小图片
- 教你用十行node.js代码读取docx的文本
- node.js读取文件中文乱码问题
- node.js将图片数据转换成base64位的字符串
- 用Node.js写爬虫,撸羞羞的图片
- Node.js readline 逐行读取、写入文件内容的示例
- nodejs+edatagrid读取本地excel表格