最近的一个项目的一个需求要求上传图片,为了保持数据的安全性。要求 项目的图片在项目外。
我们知道html默认只能引用项目内的文件,但是我们可以使用jsp或者struts2。通过流的方式读取文件,
loadimage.jsp
<%@ page import="java.io.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title></title>
</head>
<body>
<%
String fileid = request.getParameter("imageid"); // 获取文件的文件名
FileInputStream fileInputStream = new FileInputStream(new File("C:\\test\\"+fileid)); //
int i=fileInputStream.available(); //得到文件大小
byte data[]=new byte[i];
fileInputStream.read(data);
response.setContentType("image/*"); //设置文件类型
OutputStream outputStream=response.getOutputStream(); //输出文件
outputStream.write(data); //输出数据
outputStream.flush(); // 记得关闭喔
outputStream.close(); // 记得关闭喔
fileInputStream.close(); // 记得关闭喔
%>
</body>
</html>
使用方式
<img src="loadImage.jsp?imageid=1.jpg" alt=""/>