通过URL请求tomcat服务器直接下载文件
- 2020 年 4 月 1 日
- 筆記
从一个服务器上下载文件,是很常见的情况。通常我们想通过URL来访问直接下载一个文件,对于Tomcat服务器而言,是非常简单的,Tomcat本身就是作为一个web服务器的,通过简单的配置就可以实现。
配置如下:
1、在tomcat服务器上的server.xml(tomcatconf)的文件中添加下面一行(如已存在,只需修改下内容):
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false">
<Context path="/download"docBase="D:/download" debug="0" privileged="true"/>
<!– SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html –>
<!–
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
–>
<!– Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" –>
</Host>
其中docBase是指服务器上的文件地址,path是指URL访问时的路径。
2、重启tomcat,使用URL直接下载。
例如:下载地址 http://服务器IP:port/download/test.txt
注意:
解决包含中文文件名无法下载的问题:
通过上面的配置,如果下载文件的文件名中带中文,则将无法下载。需要添加tomcat的server.xml文件中URIEncoding="UTF-8"
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8081"URIEncoding="UTF-8"/>