不指定虚拟路径的前提下通过http访问pdf图片等文件
Posted qlqwjy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不指定虚拟路径的前提下通过http访问pdf图片等文件相关的知识,希望对你有一定的参考价值。
通常我们通过http访问图片或者pdf的时候都是将文件上传到指定文件夹下面,然后通过配置虚拟路径来访问指定的资源。
在不配置虚拟路径的情况下,我们通过获取到response的outpurstream,然后向该outputstream输出指定的文件也可以,用IOUtils工具类更是简单方便。
例如:
依赖的包:
package cn.qlq.web; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.io.IOUtils; /** * Servlet implementation class TestServlet */ @WebServlet("/TestServlet") public class TestServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse * response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { FileInputStream in = null; ServletOutputStream outputStream = null; try { in = new FileInputStream(new File("C:\\Users\\Administrator\\Desktop\\测试文档\\Java开发-太原科技大学-软件工程-乔利强.pdf")); outputStream = response.getOutputStream(); IOUtils.copyLarge(in, outputStream); } catch (Exception e) { e.printStackTrace(); } finally { IOUtils.closeQuietly(in); IOUtils.closeQuietly(outputStream); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
测试:
以上是关于不指定虚拟路径的前提下通过http访问pdf图片等文件的主要内容,如果未能解决你的问题,请参考以下文章
如何利用图片和一句话木马合成的jpg(或gif)文件入侵网站?
Python获取指定目录下的所有文件路径获取指定目录下所有文件名(但是不包含子目录中文件名)获取指定目录下所有pdf文件名(但是不包含子目录中pdf文件名)