nodeJS基础08:读取图片
1.读取图片
//server.js
var http = require("http");
var readImage = require("./readImage");
http.createServer(function(res, res){
// res.writeHead(200, {"Content-Type":"text/html; charset=uf-8"});
res.writeHead(200, {"Content-Type":"image/jpeg"});
if (res.url!=="/favicon.ico") {
//res.write('hello,world');//不能向客户端输出任何字节,否则会影响图片的输出
readImage.readImage('./test.png', res); //如果文件路径存在则添加数据,如果不存在则新建文件并且添加数据
console.log("继续执行");
//res.end('end'); 在 readImage.readImage方法中已经写过了
}
}).listen(8000);
console.log('Server running at http://127.0.0.1:8000/');
// readImage.js
var fs= require('fs');
module.exports={
readImage:function(path,res){
fs.readFile(path,'binary',function(err, file) {
if (err) {
console.log(err);
return;
}else{
console.log("输出文件");
res.writeHead(200, {'Content-Type':'image/jpeg'});
res.write(file,'binary');
res.end();
}
});
}
};
注意:在读取图片的过程不能向页面写入任何东西。
现在我们能够向浏览器输出文字,或者图片。下一节我们将学习如何向浏览器同时输出文字和图片。
nodeJS基础08:读取图片的更多相关文章
- nodejs进阶(4)—读取图片到页面
		我们先实现从指定路径读取图片然后输出到页面的功能. 先准备一张图片imgs/dog.jpg. file.js里面继续添加readImg方法,在这里注意读写的时候都需要声明'binary'.(file. ... 
- node学习(2)-路由读取图片
		通常我们开发项目的时候都要用到图片,那么nodejs是如何读取图片的呢? 我们来看一下,因为一个网页中图片的数量是不确定的,而我们不能每一张图片都去写它的src路径,这时候最好的方法就是写一个专门读取 ... 
- nodejs基础知识查缺补漏
		1. 单线程.异步I/O.对比php nodejs是单线程的,但是是异步I/O,对于高并发时,它也能够快速的处理请求,100万个请求也可以承担,但是缺点是非常的耗内存,但是我们可以加大内存, 所以能用 ... 
- nodejs之SVG转图片下载方案
		本文介绍在nodejs基础上.怎样实现将svg转为png并下载的功能. 所需Webkit和node module简单介绍: phantomjs:一个基于WebKit的server端JavaScript ... 
- nodejs 基础篇整合
		nodeJs 基础篇整合 最近有朋友也想学习nodeJs相关方面的知识,如果你是后端想接近前端,node作为一门跑在服务端的JS语言从这里入门再好不过了.如果你正好喜欢前端,想走的更高,走的更远.no ... 
- HTML中上传与读取图片或文件(input file)----在路上(25)
		input file相关知识简例 在此介绍的input file相关知识为: 上传照片及文件,其中包括单次上传.批量上传.删除照片.增加照片.读取图片.对上传的图片或文件的判断,比如限制图片的张数.限 ... 
- javaEE基础08
		javaEE基础08 一.继承 特点:继承父类的属性和方法,单继承(多继承) 特性:方法的复写(重写) 比如:人可以养狗 人------>狗:整体和部分(拥有)关系 关键字:extends 结构 ... 
- [转]Nodejs基础中间件Connect
		Nodejs基础中间件Connect 从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的J ... 
- Nodejs基础中间件
		Nodejs基础中间件Connect http://www.tuicool.com/articles/emeuie 关于作者 张丹(Conan), 程序员Java,R,PHP,Javascript ... 
随机推荐
- Xdebug文档(三)堆栈跟踪
			当xdebug激活时,PHP一旦要显示通知.警告或错误时,xdebug 显示堆栈跟踪信息.这个堆栈信息能跟据你的需要来配置显示. Xdebug显示的堆栈跟踪都是以保守数量状态显示信息.因为大量的信息处 ... 
- 设计一个自动生成棋盘格子的JS小程序
			<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ... 
- ArcSDE安装注意事项(二)
			上次安装的arcsde9.3后尝试往本机sde数据库中导入一个区局的数据库,但是每次都是导到一半就卡死不动,也没有报任何的错误,因此安装了arcsde9.3 sp2补丁,安装补丁后连接sde(非直连方 ... 
- Autodesk正在招聘Civil、Infraworks金牌支持工程师(Premium Support Specialist)
			Civil Infraworks金牌支持工程师,也不知道中文这么翻对不对,反正很牛的,地点优选上海,不过其他地区也没问题啊,感兴趣的,赶紧扔简历过来,我当你内线,帮你内推 :) Autodesk是全球 ... 
- Java—字符串小结
			最近工作中用到了大量有关字符串截取的知识,在此做出总结,希望需要的朋友带来帮助: 可以复制粘贴代码直接在java中测试1.将字符串中的指定字符":","-"删 ... 
- iOS-多线程之GCD(原创)
			前言 GCD 全称 Grand Central DisPath NSOperation便是基于GCD的封装 基础知识 1.GCD的优势 (1)为多核的并行运算提出了解决方案 (2)GCD会自动利用更多 ... 
- Xcode出现( linker command failed with exit code 1)错误总结
			这种问题,通常出现在添加第三方库文件或者多人开发时. 这种问题一般是找不到文件而导致的链接错误. 我们可以从如下几个方面着手排查. 先可以再试试一下几个方法: 1,看看是不是有新添加的文件跟之前文件 ... 
- mac osx install mysql
			(1) download mysql dmg (2) install (3) /usr/local/mysql/bin/mysql -u root -p change password 
- 敏捷开发与jira之燃烧图
			项目当前版本的燃烧图是下面这样的 存在的问题: 1.任务在版本起始时期之后再细化,造成了绿线一直在红线上面.解决方案:版本起始日期定为任务录入结束后的日期 2.工时录入不及时,没有实时反映当前项目组的 ... 
- SQLite使用(一)&&选择表类型
			在SQLite中,主要有两种表类型,带rowid的表和不带rowid的表.我们利用create table 建一张表,默认都会有一个隐含名字为rowid的主键,暂且称带rowid的表为普通表.如果建表 ... 
