图片的另一种展现—将后台图片编码直接展现为图片
生活随笔
收集整理的這篇文章主要介紹了
图片的另一种展现—将后台图片编码直接展现为图片
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、應(yīng)用場景
?????????? 開發(fā)過程中,遇到這樣的需求:需要將服務(wù)器上的圖片展現(xiàn)在頁面上,但是圖片所在服務(wù)器不是對外的,圖片所在服務(wù)器與應(yīng)用服務(wù)器也不在同一臺機器上,這時候就需要在開發(fā)中先將圖片讀出來,返回給應(yīng)用服務(wù)器,應(yīng)用服務(wù)器再對讀取的圖片進行處理,并展現(xiàn)。
?????????? 一般,我們在struts2中我們都會通過兩次請求,來獲取圖片,有一次的請求是專用來獲取圖片的流。
?????????? Struts的配置如下:
<result type="stream"> <param name="contentType">image/jpeg</param> <param name="inputName">inputStream</param> <param name="contentDisposition">filename="struts-gif.zip"</param> <param name="bufferSize">4096</param> </result>
????????? 現(xiàn)在我們使用新的方式來獲取圖片,并展示。
2、讀取圖片
????????? (a) 首先我們先讀取圖片,并編碼;
public static String getImageStr(String path){File file = new File(path);if(file.exists()){InputStream inputStream = null;byte[] data = null;try {inputStream = new FileInputStream(file);data = new byte[inputStream.available()];inputStream.read(data);inputStream.close();} catch (Exception e) {e.printStackTrace();} BASE64Encoder encoder = new BASE64Encoder();return encoder.encode(data);} else {return null;}}
?????????? (b) 服務(wù)交互部分使用的是hessian,略
?????????? (c) 頁面的展現(xiàn):
<td align="center" height="120" width="20%">圖片:</td><td height="24" width="40%" align="center"><img id="imgObj" width="96" height="118" alt="y" src="data:image/gif;base64,<s:property value="photoStr"/>"/></td>
??????????? 開發(fā)中使用了Struts2,展現(xiàn)的時候我們只需要讓圖片的src等于圖片的base64的編碼即可,不過切記編碼必須和data:image/gif;base64,一起
轉(zhuǎn)載于:https://www.cnblogs.com/kakag/p/3470083.html
總結(jié)
以上是生活随笔為你收集整理的图片的另一种展现—将后台图片编码直接展现为图片的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个qq网名帅气冷酷女生。
- 下一篇: 奖学金