【JAVA技術】如何展現絕對路徑下的圖片

問題描述:通常情況下,我們在jsp頁面上要想顯示圖片,直接用html的<img>標籤即可,但是img標籤的src屬性的值爲圖片存放的相對地址。如果圖片文件沒有存放在整個工程中,此時就需要訪問圖片文件的絕對路徑,將圖片直接展現在頁面上。

解決方案:可以通過流的方式展現在頁面上。過程如下:首先通過絕對路徑地址找到文件,然後再將文件以流的方式直接展現在前臺頁面上。

實現代碼:

try {
            File file = new File(path);//此處path是圖片的絕對路徑
            String filename = file.getName();
            InputStream fis = new BufferedInputStream(new FileInputStream(file));
            byte[] buffer = new byte[fis.available()];
            fis.read(buffer);
            fis.close();
            response.reset();
            // 設置response的Header           
            response.addHeader("Content-Length", "" + file.length());
            OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
            response.setContentType("p_w_picpath/jpeg");
            toClient.write(buffer);
            toClient.flush();
            toClient.close();
        } catch (IOException ex) {
            ex.printStackTrace();
        }

舉例:頁面上可以用html的<a>標籤,href屬性值爲servlet方法,然後創建一個servlet,獲取絕對路徑下的此文件,用上述代碼實現,就會以流的形式將圖片展現在頁面<a>標籤處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章