需求
PDF檔案要預覽而不是一點選就下載。
問題
問題:我們上傳的檔案都儲存在阿里雲,返回的連結都是oss的,預設點選都是下載。
採用的方案
最初的時候跟後端溝通,它提供一個新的檔案預覽介面,我只要將檔案地址當引數傳給他,就可以,這樣開啟一個新的頁面就可以預覽了。我們之前有類似的需求也是這樣實現的。但是這次我們遇到的問題是,介面所用的域名是沒有備案過的,不能直接通過瀏覽器訪問,而因為業務上的問題,這個域名也不能備案,所以這個方案就被否了。
接下來通過查閱資料,瞭解到oss可以繫結一個三級域名實現預覽,但是也涉及到域名備案,仍舊不能實現。
所以這個預覽的重擔只能通過前端去解決了。最後決定用PDF.js,直接用連結會跨域。然後用base64的方式,需要後端配合返回base64的格式,但是我後端返回的base64格式,跟官方給的格式有點不一樣,直接用PDF解析不了,因為時間的原因我也沒有研究,就暫時又換了方案。
最後用iframe的方式,將PDF轉成的base64字串直接作為src值就可以了,記得base64前面要拼接檔案型別。