if(require("http")) {
            var http = require("http");
            http.get(url,function (res) {
                res.setEncoding('binary');//二进制(binary)
                var re ='';
                res.on('data',function (data) {
                    re += data;
                    // collect the data chunks to the variable named "html"

                }).on('end', function () {
                        //console.log(re);
                        var key = getKeyByURL(url);
                        var b = new Buffer(re);
                        var imageData =toArrayBuffer(b)
                         getCanvasData(key, imageData, order);
                    })
            }).on('error', function (e) {
                    console.log("Got error: " + e.message);
                });
        }

    };

function getCanvasData (key, buffer, order) {
createCanvas();
var _blob = new Blob(new Array(buffer), { type: "image/jpeg" });
var _url = URL.createObjectURL(_blob);
var _img = new Image();
var imgData = undefined;
_img.onload = function () {
ctx.clearRect(0, 0, 256, 256);
ctx.drawImage(this, 0, 0);
URL.revokeObjectURL(_url);
imgData = ctx.getImageData(0, 0, 256, 256);
cache[order](key, imgData);
exeCheckCallback(key, imgData);
};
_img.onerror = function () {
exeCheckCallback(key, imgData);
};
_img.src = _url;
};
function createCanvas() {
if (!canvas) {
canvas = document.createElement('canvas');
canvas.width = 256;
canvas.height = 256;
ctx = canvas.getContext('2d');
}
}

nodejs远程获取图片的更多相关文章

  1. C#远程获取图片文件流的方法【很通用】

    因为之前写的代码,也能获取到图片流信息,但是会是凌乱的线条,后百度得这个方法,必须记录一下 C# try { WebRequest myrequest = WebRequest.Create(Http ...

  2. php远程获取图片或文件信息(get_headers,fsocketopen,curl)

    <?php if(!function_exists("remote_filesize")){ /** * 获取远程或本地文件信息 * @param string $strUr ...

  3. C# 远程获取图片二进制

    直接上代码, 紧做记录. public byte[] GetByteByImgUrl() { System.Net.WebRequest webreq = System.Net.WebRequest. ...

  4. php 远程下载图片到本地

    大家好,从今天开始,小弟开始写写博客,把自己在工作中碰到的问题的解决方法纪录下来,方便以后查找,也给予别人方便,小弟不才,第一次写博客,有什么不足之处请指出,谢谢! 今天纪录的是怎么通过PHP远程把图 ...

  5. nodejs中获取时间戳、时间差

    Nodejs中获取时间戳的方法有很多种,例如: new Date().getTime() Date.now() process.uptime() process.hrtime() 平时想获取一个时间戳 ...

  6. jsoup获取图片示例

    import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.Inp ...

  7. 【记录】JS 获取图片原始尺寸-防止图片溢出

    示例代码: <div id="div_content"> <img src="http://static.cnblogs.com/images/logo ...

  8. C#获取图片的后缀名

    最近在学习过程中遇到一个问题,就是如何获取图片的格式,对于一张知道全路径的照片,如果其路径包含后缀名的话,要取得后缀名,只需要一行代码即可: var ext = System.IO.Path.GetE ...

  9. js和jquery如何获取图片真实的宽度和高度

    按照插入的图片的尺寸来判断图片是横图还是竖图.然后判断过后给予不同的展示方式,下面为大家介绍下js和jquery如何获取图片真实的宽度和高度   1.什么时候需要获取图片真实的宽度和高度 在做pc网页 ...

随机推荐

  1. 转:Hprose for php(二)——服务器

    文章来自于:http://blog.csdn.net/half1/article/details/21252879 本文将介绍Hprose for php服务器的更多细节 1.发布服务 Hprose提 ...

  2. System.Web.Http.Tracing 在webapi里面应用

    最近想写log.再接口里面 所以就想到了.net 4.0提供的这个类. 整好.配合asp.net api好使用 ,而且 本地调试会在 vs Output 里面输出. 1.开启这个Tracing con ...

  3. PL/SQL 动态SQL

    declare msql varchar2(200); row_id varchar2(200); begin loop row_id := 'AAATGiAAEAAAuLLAAA'; msql := ...

  4. vmware压缩磁盘空间的方法

    家里笔记本40G,可用空间怎么挤都只剩7G,从单位copy回来的linux虚拟机要10G,经检查实际使用空间5.7,也就是其他都是空余空间,可以释放掉.(只适合independent.Persiste ...

  5. 【转】(DT系列五)Linux kernel 是怎么将 devicetree中的内容生成plateform_device

    原文网址:http://www.cnblogs.com/biglucky/p/4057495.html Linux kernel 是怎么将 devicetree中的内容生成plateform_devi ...

  6. Balanced Binary Tree——LeetCode

    Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...

  7. git bash中避免在push时反复输入用户名和密码

    我用的是windows系统,这几天学着使用git时发现每次使用git push时每次都要输入一遍用户名和密码,感觉特烦,特意上网查了下,找到了简化方法.虽然不是原创,但至少算是加了点自己的心得和经验吧 ...

  8. 西装定制平台Indochino获$1350万B轮融资 - 国际B2C - 亿邦动力网

    西装定制平台Indochino获$1350万B轮融资 - 国际B2C - 亿邦动力网 西装定制平台Indochino获$1350万B轮融资 作者: 韦龑来源: i黑马网2013-03-29 11:05 ...

  9. java二进制文件复制

    package com.starain.io; import java.io.BufferedInputStream;import java.io.BufferedOutputStream;impor ...

  10. RAC集群启动停止

    root用户执行 crsctl stop crscrsctl start crs /u01/app/11.2.0/grid/bin/crsctl stop crs