最近在做毕业设计时,需要把文件(主要是图片和视频)放到网页上。因为不想项目太臃肿,本着数据与代码分离的想法,我把文件放在了非项目目录(磁盘目录),并在数据库中存放的也是磁盘目录(如G:\XX\XXX..)。这样一来在读取时就遇到一些问题,解决方法记录如下:
(1)图片的读取
在jsp页面中用<img>标签显示图片,其src属性支持流,于是解决思路是写一个servlet,用输入流读入图片,再用响应流输出。在src中写servlet的地址
servlet代码如下:
(1)图片的读取
在jsp页面中用<img>标签显示图片,其src属性支持流,于是解决思路是写一个servlet,用输入流读入图片,再用响应流输出。在src中写servlet的地址
servlet代码如下:
ReadFileFromDisk.servlet:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=UTF-8");
//filepath为图片的磁盘路径
String filepath = request.getParameter("filepath");
String transpath = filepath.replace("\\", "/");
FileInputStream fis = new FileInputStream(transpath);
OutputStream os = response.getOutputStream();
try {
int count = 0;
byte[] buffer = new byte[1024 * 1024];