
Mixed Content: The page at ‘https://XXX’ was loaded over HTTPS was loaded over HTTPS, but requested an insecure image 'cdvfile://localhost/cache/***.jpg'. This request has been blocked; the content must be served over HTTPS.
本項目前端是用vue,后端 是tomcat+nginx實現(xiàn)的,在使用tomcat+nginx時。Nginx使用https,tomcat使用http。使用iframe之類框架,在重定向時會出現(xiàn)以上問題導致頁面加載不出來。這是因為Tomcat不能知道Nginx發(fā)來的是http還是https。
如圖所示圖片上傳后無法顯示,有試過后端服務器修改

鏈接為:?https://blog.csdn.net/qq_27114677/article/details/77848078? (但是我這邊按照這個修改并沒有效果。)
于是繼續(xù)尋找解決方案,查找了各種資料,最終找到2種方案。
1、將圖片上傳到https的文件服務器上,然后再將返回的https圖片路徑拿來做展示,可以解決圖片顯示不了的問題。缺點是效率有點低,一次每次修改圖片都得上傳到服務器然后再去刪除,如果操作失誤過多,會導致服務器垃圾文件越來越多。
2、第二種方案就是將圖片從相機或者相冊取出來后轉換成base64格式重新定義一個數(shù)組保存起來用來做展示(親測有效),另外的一個上傳用的文件流依舊用于上傳。這樣方便在本地做刪除,變換圖片等操作 。而不會影響到服務器,最終確定后再進行批量上傳。具體實現(xiàn)代碼:

