• 网站文件下载链接


    如何将网站上的文件让别人下载呢?

      最简单的方式就是直接把文件的链接地址放到页面上,如一个a链接,点击该链接直接访问文件,即会下载。

      经过测试,不提供文件地址,访问一个servlet,返回该文件地址也可以下载文件。这种方式的好处隐藏了文件的真实地址,还可以在下载前对下载行为进行判断,如是否登录。对于没有登录的用户可以提示他登录不会下载文件。在servlet中下载文件的文件名依据web.xml中的url-pattern决定。

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
      <display-name>down</display-name>
      <servlet>
        <servlet-name>inst1</servlet-name>
        <servlet-class>com.lh.down.test</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>inst1</servlet-name>
        <url-pattern>/inst1.exe</url-pattern>
      </servlet-mapping>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
    </web-app>

     

     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     @Override
    13     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     @Override
    19     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    20         doGet(req, resp);
    21     }
    22 }

     访问url-pattern,即会下载文件。

  • 相关阅读:
    Hadoop2.x集群动态添加删除数据节点
    HDFS中块状态分析
    procedure of object(一个特殊的指针类型)
    设计模式导语一
    Delphi中的容器类(二)
    让AlphaControls改变DevExpress皮肤
    Delphi中的容器类(一)
    Delphi 的RTTI机制浅探
    重写AuthorizeAttribute实现自己的权限验证
    含有HttpContext元素的单元测试
  • 原文地址:https://www.cnblogs.com/duex/p/6376331.html
Copyright © 2020-2023  润新知