html使用a标签不经过后台实现直接下载

在作项目的时候常常会碰到上传下载,一般在上传完文件之后会把文件在项目中的相对路径存到数据库以便下载,若是想直接下载文件,不经过后台action,则能够直接把文件路径给a标签的href属性,例如:数据库

<a href="/uploadfolder/xxxx.txt">点击下载</a>

这样用户在点击这个连接的时候,就会直接下载这个文件,可是这里有个问题,像txt,jpg这些浏览器支持直接打开的文件是不会执行下载的,而是会直接打开。这时候能够给a标签添加一个download属性,例如:浏览器

<a href="/uploadfolder/xxxx.txt" download="文件名.txt">点击下载</a>

download也能够不给值,这样就会使用默认的文件名。tomcat

PS:IE貌似不支持这种写法,因此只能经过后台代码。jsp

在jsp中直接用a标签去连接一个文件,点击便可下载这个文件。编码

可是这个文件的名字若是含有中文的话,tomcat就会报错。url

解决办法:code

在tomcat中指定url编码便可。server

找到tomcat目录中的conf下的server.xml,而后打开,找到端口的配置的标签位置:xml

<Connector port="18080" protocol="HTTP/1.1"   
  
           connectionTimeout="60000"   
  
           redirectPort="8443"/>

而后加上URIEncoding="UTF-8"这个配置,从新启动tomcat便可:io

<Connector port="18080" protocol="HTTP/1.1"   
  
           connectionTimeout="60000"   
  
           redirectPort="8443" URIEncoding="UTF-8"/>
相关文章
相关标签/搜索