这里使用,来自客户端的tiff阅读器库将tiff文件转换为用户视图的图像。用户将一次只看到一个,提供分页看下一个/上一个,这里,用户每次点击命中服务器获取tiff并将其渲染为屏幕上的图像。 参见代码:
var costructUrl = 'http://cdn.dmsapp.tk/'+appUrl+'/'+evt+'?authToken='+this.getuserservice.authorizationfun()+'&force=false'; xhr.open('GET', costructUrl); xhr.responseType = 'arraybuffer';
xhr.onload = function (e) {
var pages = [];
var buffer = xhr.response;
var tiff = new Tiff({buffer: buffer});
var len = tiff.countDirectory();
var currentPage = index;
if (currentPage < len) getTiff();function getTiff(){
tiff.setDirectory(currentPage);
var canvas = tiff.toCanvas();
var ctx = canvas.getContext('2d');
pages.push(canvas.toDataURL()); if ((currentPage+1 < len && currentPage < limit)) {
currentPage++;
getTiff(); // get next page
}
}
}
};xhr.send();
答案 0 :(得分:1)
是的,你可以很容易地在javascript中处理缓存。
您可以使用localStorage
存储要缓存的内容,它使用键值对来存储值,它将可用于域的所有页面。即使浏览器已关闭,该值仍将保留。与sessionStorage
不同,只要浏览器处于打开状态,它就会存储值,包括页面重新加载和恢复。
要写入localStorage,请使用
localStorage['yourKey'] = 'yourValue';
要读取数据,请使用
var stored = localStorage['yourKey'];
该值对于编写该值的同一域的所有页面都是可见的。
是的,您可以将任何字符串值存储到缓存中。
如果要存储对象,可以使用
localStorage['yourKey'] = JSON.stringify(your_obj);
并存储值
然后解析该值以获取对象
your_obj = JSON.parse(localStorage['yourKey'])
;
了解更多信息Check Here