上一个章节,简要说了以下分片下载的几个特性.今天主要用示例说明一下pdf.js分片下载. 服务器环境: php7.2 nginx 1.14 ubuntu 18.04测试浏览器:谷歌浏览器 70.0.3538.110( 第一个场景,直接使用pdf 文件1.1 代码如下:注意路径使用的是pdf 文件的物理路径 $filePath = ‘…/doc/big.pdf’;这里是举例,这样作有一个明显的缺点,就是容易被盗链getDocument 方法中的 rangeChunkSize 参数,就是设置分块大小…
前面的文章介绍了Mongodb的安装使用,在 MongoDB 中,有两种数据冗余方式,一种 是 Master-Slave 模式(主从复制),一种是 Replica Sets 模式(副本集). Mongodb一共有三种集群搭建的方式: Replica Set(副本集). Sharding(切片) Master-Slaver(主从)[目前已不推荐使用了!!!] 其中,Sharding集群也是三种集群中最复杂的. 副本集比起主从可以实现故障转移!!非常使用! mongoDB目前已不推荐使用主从模式,取…
我是在IE11和谷歌上做的测试,都可以显示,把做出的东西记录下来,方便大家还有自己学习! 可以在IIS7服务器上也可以下载Tomcat来做服务器 Tomcat下载地址   http://pan.baidu.com/s/1dEEUFQD 根据百度经验安装和配置Tomcat   http://jingyan.baidu.com/article/870c6fc33e62bcb03fe4be90.html 有关pdf.js的介绍在如下网址   https://github.com/mozilla/pdf…
摘要 在mongo初识文中介绍了mongo与cassandra的主要区别,以及mongo物理部署架构图.本文接着上一篇的mongo 架构图,来继续讲分片集群. 分片介绍 shard key mongo 默认配置是不分片的,需要自行enable.mongo 根据shard key来对数据进行分片.有三种分片方式 range 根据范围来分片,比如1-10到shardA,11-20 shardB,以此类推 hash 根据shard key的hash 值来分片 tag 代表的shard key 的一段范…
分片是横跨多台主机存储数据记录的过程,它是MongoDB针对日益增长的数据需求而采用的解决方案.随着数据的快速增长,单台服务器已经无法满足读写高吞吐量的需求.分片通过水平扩展的方式解决了这个问题.通过分片,你能添加更多的机器到集群中来应对快速增长的数据存储并且满足高吞吐量读写操作. 一.分片介绍 MongoDB使用分片技术来支持大数据集和高吞吐量操作. 1.分片目的 对于单台数据库服务器,庞大的数据量及高吞吐量的应用程序对它而言无疑是个巨大的挑战.频繁的CRUD操作能够耗尽服务器的CPU资源,快…
一.副本分片介绍 什么是副本分片? 副本分片的主要目的就是为了故障转移,如果持有主分片的节点挂掉了,一个副本分片就会晋升为主分片的角色. 在索引写入时,副本分片做着与主分片相同的工作.新文档首先被索引进主分片然后再同步到其它所有的副本分片.增加副本数并不会增加索引容量. 无论如何,副本分片可以服务于读请求,如果你的索引也如常见的那样是偏向查询使用的,那你可以通过增加副本的数目来提升查询性能,但也要为此,增加额外的硬件资源. Elasticsearch内部分片处理机制 逆向索引 与传统的数据库不同…
1.需要到官网下载源码:https://mozilla.github.io/pdf.js/ 2. function(){ let url='./demo1.pdf'; window.location.href='./viewer.html?file='+url }3.遇到问题还可以用编码来解决两个的问题…
使用场景及原因 实际业务中,一些说明书或协议仅支持用户在线预览,为避免用户自行下载,并进行修改,引发纠纷,特将文件已文件流的形式,传给前端并转为图片显示,此时可能会有人问,为什么不直接在后端转图片,前端直接展示呢?那是因为当系统用户数量较高时,高并发会时服务器有很大的压力,可能会导致系统压测不能通过,前端转图片,可以将处理压力分摊至每个客户端. 本次操作为Vue.js + pdf.js 因个人需求不同,并未做打包处理,可自行单独下载文件,下载地址: - qs :https://pan.baidu…
文件上传一般有两种方式:文件流上传和base64方式上传,毫无疑问,当进行大文件上传时候,转为base64是不现实的,因此用formData方式结合文件流,直接上传到服务器 本文主要结合vue的来讲解,主要知识点有“promise函数.formData对象使用.ajax异步上传.文件切割 //1.这里先在vue的Data中定义几个上传所需要的变量 taskId: '' //区分分包文件名 bytesPerPiece: 1 * 1024 * 1024, // 每个文件切片大小定为1MB . tot…
开篇语: 最近工作需要做一个借款合同,公司以前的合同都是通过app端下载,然后通过本地打开pdf文件,而喜欢创新的我,心想着为什么不能在线H5预览,正是这个想法,说干就干,实践过程总是艰难的,折腾了3,4天的时间,熬了两个凌晨3,4点,其中的艰辛.以及各中的曲折.压力只有自己能体会,项目上线后心里想着我要写一篇博文,一是总结一下经验,其次就是和大家分享自己这一路走来的的心得体会,欢迎吐槽!,废话不多说,来点干货! PDF在线预览实现: 8个实现在线浏览PDF文件的实用插件,笔者选择pdf.js,…
pdf.js框架的魅力所在,为其为HTML5实现的,无需任何本地支持,而且对浏览器的兼容性也是比较好,要求只有一个:浏览器支持HTML5就好了!(不过对于低版本的IE,就只能节哀了!) 据说IE9以上是OK的,因为我本地是IE11,所以我只在IE11上测试过,是通过的(当然火狐,360,我也测了一下,是可以的). 因为项目开发需要,在线展示PDF,而且要兼容IE,所以就选择了pdf.js,但是网上对他的教程很少,我花了一天时间才搞定,回头看了一下,也没有想象中那么困难,所以决定写一篇博客,以便大…
人生第一篇博客,的确有点紧张,但有些许兴奋,因为这对于我来说应该是一个好的开始,以此励志在技术的道路上越走越远. 看过了多多少少的技术博客,给自己带来了很多技术上的收获,也因此在想什么时候自己也可以赠人玫瑰,手留余香呢?终于时候到了...哈哈 首先容我吐槽一番,在大前端的背景下各种框架层出不穷,相对的各种打包工具也应用而生,要说最火的就是webpack了,用户多所以社区相对活跃,团队维护,网上也有各种各样的问题可以轻易搜到从而解决自己的遇到的各种奇葩问题,所以90%的项目都会采用webpack来…
天记录一个js库:pdf.js.主要是实现在线打开pdf功能.因为项目需求需要能在线查看pdf文档,所以就研究了一下这个控件. 有些人很好奇,在线打开pdf文档浏览器不是支持吗.是的你说的都是现代浏览器,例如谷歌,360,edg等. 但是很不幸的是我们这个项目是要使用我们最喜欢(很烦)的浏览器IE.所有要想使IE能够在线读取pdf,我就知道两种办法第一种下载Acrobat Reader插件,第二就是使用js库了. 介绍pdf.js pdf.js是一个开源的js库. 官网:http://mozil…
现在的浏览器基本都支持直接把 pdf 文件拖到浏览器就可以打开,不用下载pdf阅读插件,但是在写网页的时候遇到了 pdf 文件怎么办呢,有两种解决办法,一种是用 falsh 来向用户展示,优点就是支持所有的浏览器,缺点是需要用户安装falsh插件,另一种就是用 pdf.js 插件来展示,优点是不用下载falsh插件,缺点就是兼容性问题,不支持IE9 及以下的浏览器. 我现在重点介绍的就是 pdf.js 插件,我最近也在用. 下载地址 pdf.js 里面有 Download Demo GitHub…
1. 下载对应的 pdf.js 文件: 推荐地址:             https://github.com/mozilla/pdf.js/            http://mozilla.github.io/pdf.js/ 2. 下载完成后打开对应的 viewer.js 文件. 可以看到,默认打开的是 compressed.tracemonkey-pldi-09.pd f文件,如果后面我们需要打开我们指定的地址,于是清空默认地址. 3. 这样,我们就可以使用传递 file 形参来动态指…
SQL 横转竖 .竖专横 (转载)   普通行列转换 问题:假设有张学生成绩表(tb)如下: 姓名 课程 分数 张三 语文 74 张三 数学 83 张三 物理 93 李四 语文 74 李四 数学 84 李四 物理 94 想变成(得到如下结果): 姓名 语文 数学 物理 ---- ---- ---- ---- 李四 74 84 94 张三 74 83 93 ------------------- */ create table tb(姓名 varchar(10) , 课程 varchar(10)…
在工作中遇到一个通过网页的形式浏览pdf文件以及图片的需求,图片简单,直接通过网页的形式打开这个图片的URL即可.而pdf这边,通过查询发现有一个名为pdf.js的神器. 简单介绍下,它可以在html中直接浏览pdf文件,pdf的每一页数据,通过H5的canvas进行解析,以及显示.其中还可以操作页数.滚动.打印.下载等功能.git上的地址为:http://mozilla.github.io/pdf.js/ 网上的文档资料很多,就不记录了,直接留存通用代码. <!DOCTYPE html> &…
由于在做手机项目中需要用到预览pdf文件的需求,一搜还真多,试用后发现兼容性不是很好,大多需要浏览器对pdf阅读的支持: 如果你只是想不依赖浏览器本身对pdf解析的情况下,在手机展示pdf文件,就需要了解各个插件的优缺点进行选择: 1.PDFObject 该插件需要用到浏览器h5解析pdf的支持,在手机webview使用兼容性不是很好,下面看官方的说明: Why use PDFObject? PDFObject 2.0 detects browser support for inline/emb…
在网页中加载并显示PDF文件是最常见的业务需求.例如以下应用场景:(1)在电商网站上购物之后,下载电子发票之前先预览发票.(2)电子商务管理系统中查看发布的公文,公文文件一般是PDF格式的文件. 目前随着浏览器技术发展的不断成熟与强大,大部分的浏览器都支持直接把PDF文件拖到浏览器中显示,最方便的是这个操作不需要额外的插件支持.但是不同的浏览器加载显示PDF的效果不同.这时就需要专门的JS插件来处理.Mozilla开源了一个插件pdf.js,无需任何本地支持就可以在所有主流的浏览器上显示PDF文…
项目需求 前段时间项目中遇到了一个模块,是关于在线预览word文档(PDF文件)的,所以,找了很多插件,例如,pdf.js,pdfobject.js框架,但是pdfobject.js框架对于IE浏览器不兼容,所以,选择了使用pdf.js,这里记录一下,以后使用的时候好查找,也希望可以帮助有需要的人. word文件转pdf文件 首先需要将指定的word文档转为pdf文件,方法有很多,这里不介绍,有需要的童鞋可以去网上下载即可.我这里用的是OpenOffice,版本是4.1.6,使用很简单,下载好了…
首先推荐大家看一下这个demo vue-pdf.js-demo,这里面包含固定本地地址,远程pdf地址,通过打开文件的方式打开pdf 这儿我们着重介绍一下通过文件流的形式打开pdf.(所谓文件流,就是通过ajax请求,返回的数据是文件流的形式) 1. 首先通过下载pdf.js的相关文件,当然我推荐直接拷贝 vue-pdf.js-demo里面的文件,然后放到static目录里面 2. 第二步就是直接使用了 在组件中合适的地方放入 iframe <iframe class="prism-pla…
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html#skill 下载地址:http://mozilla.github.io/pdf.js/getting_started/#download 解压打开,这两个文件夹是精华 你可以自己看看目录 我们的目标是:web/viewer.html 先打开看看: 噢,shit 了(PDF.js默认情况下不可以打开本地PDF文件(发布后可以打开服务器文件),也不可以跨域浏览P…
过程简单粗暴. 第一步:下载源码https://github.com/mozilla/pdf.js 第二步:将源码拷贝进项目中,可以新建一个PDFShow文件夹存放代码 第三步:修改viewer.js var DEFAULT_URL = 'compressed.tracemonkey-pldi-09.pdf'  里面是PDF的路径 修改为:var DEFAULT_URL = ''; 发布IIS后访问localhost:8080/PDFShow/web/viewer.html?file=09.pd…
最近接到一个需求大致是这样的,要求在移动端和pc端能够在线阅读pdf文件,类似百度文库的功能. 首先想到的就是插件,github(全球最大的男性交友网站- -恩)上一大堆啊,首先找到一个PDFobject,用来一下,在PC端运行还可以,但是在移动端用手机的浏览器就不好用了 原因是它要求在客户端安装Adobe Reader,所以再找啊找,找到了pdf.js,它是Mozilla公司开发的一款在线阅读PDF插件,废话少说,直接干! 下载地址:https://github.com/dunitian/PD…
最近在做公司业务时,需要在线浏览pdf.在现代浏览器中, 均可直接浏览pdf文件,无兼容性问题.但公司的业务线需要支持到ie8. 经过自己的搜索调研, pdf.js比较适合.pdf.js兼容到ie9, 我和领导讨论后决定ie9及以上浏览器可在线预览, ie9以下直接下载, 不提供预览. 开始把pdf.js的demo搭好, 感觉很好用啊.因为我们的存储是在七牛云,动态存储域名与业务域名不一致,就会遭遇跨域问题.查看pdf.js的faq发现, pdf.js默认不支持跨域. 但官方给出了两个方案. 使…
pdf.js可以实现在html下直接浏览pdf文档,是一款开源的pdf文档读取解析插件 pdf.js主要包含两个库文件,一个pdf.js和一个pdf.worker.js,,一个负责API解析,一个负责核心解析 下载地址:http://cnblogs.com/files/xiangliuyunyang/build.zip 两个主要demo 1.点击连接读取第一页的pdf文档:http://www.51purse.com/pdf/web/demo1.html(此处没有自己上传) 2.点击连接,选择需…
现在的浏览器基本都支持直接把pdf文件拖到浏览器就可以打开了,不用安装额外的插件.但是不同的浏览器显示的页面不一样.如果我们想在网页上统一预览pdf怎样实现呢? Mozilla开源了一个插件pdf.js,无需任何本地支持就可以在浏览器上显示pdf文档.唯一的要求就是浏览器必须支持HTML5.使用方法: 1. 下载https://github.com/mozilla/pdf.js/archive/gh-pages.zip 2. 解压到目录pdf,再把整个目录拷贝到网站的public目录下.解压后是…
用pdf.js实现在移动端在线预览pdf文件1.下载pdf.js    官网地址:https://mozilla.github.io/pdf.js/ 2.配置    下载下来的文件包,就是一个demo,仿照这个demo做就可以    (1)页面元素如下:    <button class="product-term to-clause" id="noteDetail">test</button><button class="t…
pdf.js可以实现在html下直接浏览pdf文档,是一款开源的pdf文档读取解析插件 pdf.js主要包含两个库文件,一个pdf.js和一个pdf.worker.js,,一个负责API解析,一个负责核心解析 下载地址:http://cnblogs.com/files/xiangliuyunyang/build.zip 两个主要demo 1.点击连接读取第一页的pdf文档:http://www.51purse.com/pdf/web/demo1.html(此处没有自己上传) 2.点击连接,选择需…
下载地址:  files.cnblogs.com/zycjwdss/mypdf.zip 把下载后的zip解压,放到web服务器根目录下,打开pdf.html,把这一句取消注释: //window.pdfView("/mypdf/test.pdf"); 把"/mypdf/test.pdf"改成后台pdf文件的路径. 在浏览器中打开pdf.html即可.(不能在浏览器中使用file://.../pdf.html打开,必须使用web服务器) 参考资料: 官网:http:/…