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"/>
相關文章
相關標籤/搜索