时间:2021-05-20
本文实例为大家分享了Servlet实现文件下载的具体代码,供大家参考,具体内容如下
把文件目录直接暴露给用户是很不安全的。所以要用Servlet来做,而且这样做,文件的存储方式就更丰富了,可以是从文件系统上取来的,也可以是数据库中经过计算生成的,或者从其它什么稀奇古怪的地方取来的。
public class DownloadServlet extends HttpServlet { private String contentType = "application/x-msdownload"; private String enc = "utf-8"; private String fileRoot = ""; /** * 初始化contentType,enc,fileRoot */ public void init(ServletConfig config) throws ServletException { String tempStr = config.getInitParameter("contentType"); if (tempStr != null && !tempStr.equals("")) { contentType = tempStr; } tempStr = config.getInitParameter("enc"); if (tempStr != null && !tempStr.equals("")) { enc = tempStr; } tempStr = config.getInitParameter("fileRoot"); if (tempStr != null && !tempStr.equals("")) { fileRoot = tempStr; } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String filepath = request.getParameter("filepath"); String fullFilePath = fileRoot + filepath; File file = new File(fullFilePath); if (file.exists()) { String filename = URLEncoder.encode(file.getName(), enc); response.reset(); response.setContentType(contentType); response.addHeader("Content-Disposition", "attachment; filename=\"" + filename + "\""); int fileLength = (int) file.length(); response.setContentLength(fileLength); if (fileLength != 0) { InputStream inStream = new FileInputStream(file); byte[] buf = new byte[4096]; ServletOutputStream servletOS = response.getOutputStream(); int readLength; while (((readLength = inStream.read(buf)) != -1)) { servletOS.write(buf, 0, readLength); } inStream.close(); servletOS.flush(); servletOS.close(); } } }web.xml
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了JavaWebservlet实现下载与上传功能的方法。分享给大家供大家参考,具体如下:本文内容:servlet实现下载功能servlet实现上传功
本文实例为大家分享了servlet下载文件的具体代码,供大家参考,具体内容如下1.servlet下载文件 servlet下载文件就是将服务器端的文件传输到客户
如果不通过JSP和servlet直接下载文件的话,可以通过web.xml文件来识别文件类型来进行下载。如果要通过servlet来下载的话,可以如下所示来进行下载
本文实例讲述了servlet简单实现文件下载的方法。分享给大家供大家参考,具体如下:publicstaticvoiddownload(Stringpath,Ht
本文实例讲述了jsp实现Servlet文件下载的方法。分享给大家供大家参考。具体如下:packagecom;importjava.io.IOException;