二維碼及其圖片頁面展示

在使用springmvc的時候我們想要打開頁面的時候展示的就是一張二維碼或者圖片,這個時候應該怎麼實現呢?

先看效果圖


此處是我通過後臺直接在頁面顯示的圖片,二維碼內容爲:認真學習Java,大小是470*470的圖片,我們如何做到將一張圖片直接在頁面顯示呢?

1.先說圖片顯示

1.1 假如你已在後臺生成圖片BufferedImage形式的圖片流,如:

這樣你就可以直接ImageIos配合response 將其打印在頁面上,


1.2 假如你的圖片已存在本地服務器,不需要你自己生成流了,這時候你只需要讀取圖片流就好了,如圖完整代碼展示


現在逐行解釋,文件流的讀取就沒什麼好說的了,主要實在進行response的時候要注意,響應內容的設置要一致,對不同的文件要設置不同的內容顯示,這句代碼

response.addHeader("Content-Disposition","attachment;filename=img.jpg");

這個是響應我們瀏覽器幫我們自動下載,文件名後綴的格式要和讀取文件的格式一致,不一致也可以生成(最好一致),這個在我們做execle下載工具類用得到,對於要顯示的內容和所對應的代碼,給大家推薦個地址

http://rubyq.iteye.com/blog/1408141,可以參考這兒。

測試結果如圖


其中注意文件名會出現AK 這樣的亂碼,在進行文件名拼接爲中文的時候需要 URL decode j進行轉換,這邊就不做贅述,

在將圖片轉換爲Base64的流,

這時候我們就可以直接在頁面通過Base64顯示



發佈了42 篇原創文章 · 獲贊 23 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章