加载流程
是这样的,pdf文件在ftp服务器
上,web服务器要先去ftp服务器下载pdf,然后在返回文件给浏览器,相当于要pdf要在网络中传输2次,就是下载2次了。
导致的问题
就是加载时间很长,要10多秒才能显示,很难忍受,
请问大神们有没有这方面的经验和解决方案可以传授下,pdf基本上都是10多M的大小
目前能想到的解决方案
,是把pdf下载服务器上,转换成单页的jpg,先返回第一页的jpg,然后其他的转换任务还在线程中异步执行,这样应该可以将请求时间缩短一半。
加载流程
是这样的,pdf文件在ftp服务器
上,web服务器要先去ftp服务器下载pdf,然后在返回文件给浏览器,相当于要pdf要在网络中传输2次,就是下载2次了。
导致的问题
就是加载时间很长,要10多秒才能显示,很难忍受,
请问大神们有没有这方面的经验和解决方案可以传授下,pdf基本上都是10多M的大小
目前能想到的解决方案
,是把pdf下载服务器上,转换成单页的jpg,先返回第一页的jpg,然后其他的转换任务还在线程中异步执行,这样应该可以将请求时间缩短一半。
我们的做法是在后端写个服务,先把上传的pdf文档,利用这个接口存储成多个svg文件,然后把这些svg文件提交到阿里云的oss或者是七牛的存储服务中,这个转换和存储的过程大概在半分钟左右,访问的时候,可以用懒加载方式,浏览效率和用户体验都非常不错。
试试把pdf直接放到web机器,再访问web机器看速度提升了多少,ftp和web机器在一个内网吗?
将下载分发用云存储平台去,如cdn提供商、阿里云等
如果web机器访问速度可以,那可以使用rsync将ftp的同步到web机器来,如果项目小的话
用户体验:做个加载进度条
网络优化:上面很多都说了,CDN加速(机密文件不适合)
文件优化: pdf做成可单页加载的,不好处理可尝试分割成多个图片
这种问题,一般1,2两不就够了
10 回答11.1k 阅读
15 回答8.4k 阅读
6 回答2.1k 阅读✓ 已解决
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
8 回答6.2k 阅读
谢邀。之前遇到过类似的问题,,图片上传,一开始的思路是前端把图片上传到后台,再由后台上传到七牛云,后来感觉太影响速度,就直接用七牛的JS SDK,前端把直接把图上传到七牛,只把对应的文件名(key)发给后台,再将key存入数据库。
我觉得题主这个问题类似吧,,为什么不直接在页面上的PDF地址改成FTP服务器的地址呢??如有错误请批评指出,不才在这方面不了解