如何将网站上的文件让别人下载呢?
最简单的方式就是直接把文件的链接地址放到页面上,如一个a链接,点击该链接直接访问文件,即会下载。
经过测试,不提供文件地址,访问一个servlet,返回该文件地址也可以下载文件。这种方式的好处隐藏了文件的真实地址,还可以在下载前对下载行为进行判断,如是否登录。对于没有登录的用户可以提示他登录不会下载文件。在servlet中下载文件的文件名依据web.xml中的url-pattern决定。
down inst1 com.lh.down.test inst1 /inst1.exe index.html index.htm index.jsp default.html default.htm default.jsp
1 package com.lh.down; 2 3 import java.io.IOException; 4 5 import javax.servlet.RequestDispatcher; 6 import javax.servlet.ServletException; 7 import javax.servlet.http.HttpServlet; 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpServletResponse;10 11 public class test extends HttpServlet {12 @Override13 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {14 RequestDispatcher dispatcher = req.getRequestDispatcher("/jsp/inst.exe");15 dispatcher .forward(req, resp);16 }17 18 @Override19 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {20 doGet(req, resp);21 }22 }
访问url-pattern,即会下载文件。