瀏覽器直接訪問file:///D://data/upload/banner.png是可以的,但在頁面里就是不顯示
解決:不配置絕對路徑,src里訪問后台,參數為圖片名稱,通過應用服務器獲取圖片輸出
jsp:

后台:
@RequestMapping("/image/{filename}")
public void showImageByType(@PathVariable String filename, HttpServletRequest request, HttpServletResponse response) throws Exception {
InputStream inputStream = null;
OutputStream writer = null;
try {
String root = ReadeGlobePa.getValueByProper("fileSaveDir");
filename = filename.replace("/", "");
filename = filename.replace("..", "");
inputStream = new FileInputStream(new File(root + "/upload/" + filename));
writer = response.getOutputStream();
byte[] buf = new byte[1024];
int len = 0;
while ((len = inputStream.read(buf)) != -1) {
writer.write(buf, 0, len); //寫
}
inputStream.close();
} catch (FileNotFoundException e) {
response.setStatus(404);
} catch (Exception e) {
// logger.error(e.getMessage(), e);
} finally {
try {
if (inputStream != null) {
inputStream.close();
}
if (writer != null) {
writer.close();
}
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
}
}
