加載流程是這樣的,pdf文件在ftp服務器上,web服務器要先去ftp服務器下載pdf,然后在返回文件給瀏覽器,相當于要pdf要在網絡中傳輸2次,就是下載2次了。導致的問題就是加載時間很長,要10多秒才能顯示,很難忍受,請問大神們有沒有這方面的經驗和解決方案可以傳授下,pdf基本上都是10多M的大小目前能想到的解決方案,是把pdf下載服務器上,轉換成單頁的jpg,先返回第一頁的jpg,然后其他的轉換任務還在線程中異步執行,這樣應該可以將請求時間縮短一半。
9 回答
九州編程
TA貢獻1785條經驗 獲得超4個贊
之前遇到過類似的問題,,圖片上傳,一開始的思路是前端把圖片上傳到后臺,再由后臺上傳到七牛云,后來感覺太影響速度,就直接用七牛的JS SDK,前端把直接把圖上傳到七牛,只把對應的文件名(key)發給后臺,再將key存入數據庫。
我覺得題主這個問題類似吧,,為什么不直接在頁面上的PDF地址改成FTP服務器的地址呢??如有錯誤請批評指出,不才在這方面不了解
慕容708150
TA貢獻1831條經驗 獲得超4個贊
提供一個思路樓主參考
文件切割成多份,多線程下載,完成后在本地組合生成文件。
不過借用第三方,如七牛,這種已經優化的專業的平臺應該更省事?
睡覺嚕,晚安
MMTTMM
TA貢獻1869條經驗 獲得超4個贊
慕尼黑5688855
TA貢獻1848條經驗 獲得超2個贊
試試把pdf直接放到web機器,再訪問web機器看速度提升了多少,ftp和web機器在一個內網嗎?
將下載分發用云存儲平臺去,如cdn提供商、阿里云等
如果web機器訪問速度可以,那可以使用rsync將ftp的同步到web機器來,如果項目小的話
莫回無
TA貢獻1865條經驗 獲得超7個贊
為什么每次請求 都要重新連FTP下載?
建議第一次下載后把文件存在本地,
如果PDF會經常改動,那就在第二次下載之前判斷一下文件大小和修改時間,
有改動再重新下載。
添加回答
舉報
0/150
提交
取消
