解決kkFileView預覽線上的office等檔案時,報【連線url異常】錯-sunziren
阿新 • • 發佈:2020-12-26
1.問題:
在本地預覽時,任何問題都沒有。但是程式部署到線上後,除了圖片可以正常預覽,其他的檔案,例如:doc\docx\xls\xlsx\pdf等這些型別的時候,直接提示連線url異常。
2.現象分析及思考
但是檔案的url是可以下載的,我把傳給預覽介面的引數,就是檔案的連結,直接拿到瀏覽器訪問是可以正常下載的,但是為什麼只有圖片可以預覽,其他檔案卻不行?
經過我的檢查,所有檔案都是在線上存在同一個ftp資料夾裡的,所以應該是線上環境限制了可以讀取的檔案型別,但是我找了半天,並沒有找到在什麼地方有這麼個限制的配置。
我覺得看看這個錯是怎麼報出來的,是哪一行程式碼出了問題。我根據提示的關鍵字,先把kkFileView這個專案下載到了本地(我下載的版本是2.2.1),然後全域性查詢關鍵字【連線url異常】,終於找到了。
就是這個DownloadUtils中的getInputStreamFromUrl方法報出來的,如下:
然後,我就想看看網上其他兄弟有沒有碰到類似的問題的,結果這個兄弟的帖子,引起了我的注意:https://blog.csdn.net/weixin_44152538/article/details/87622300
3.解決
我根據他的修改方式,把程式碼中的setRequesetProperty進行了更改,上面的方法變成了下面這樣:
就改了最長的那一行,內容是:
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36)");
然後問題就解決了,office檔案也可以征程預覽了。哈哈。感謝這位網友。