這篇“怎么在Java Servlet中實(shí)現(xiàn)文件下載功能”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“怎么在Java Servlet中實(shí)現(xiàn)文件下載功能”文章吧。
專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)龍山免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
1、說明
Servlet是Sun公司開發(fā)的用于交互式地瀏覽和生成數(shù)據(jù),生成動(dòng)態(tài)Web的技術(shù)。狹義的Servlet是指Java語言實(shí)現(xiàn)的一個(gè)接口。但一般情況下,我們把實(shí)現(xiàn)了Servlet接口的Java程序叫做Servlet
2、使用servlet程序下載
//得到需要下載的文件 String path = this.getServletContext().getRealPath("/upload/9/1/圖片1.png"); File file = new File(path); //讀取服務(wù)器本地的文件 FileInputStream in = new FileInputStream(file); /** * 處理URL編碼問題 */ String fileName = file.getName(); //對文件名進(jìn)行URl編碼 fileName = URLEncoder.encode(fileName, "utf-8"); //判斷不同瀏覽器 String userAgent = request.getHeader("user-agent"); String filefix = null; if(userAgent.contains("Trident")){ //IE filefix = "filename="+fileName; }else if(userAgent.contains("Firefox")){ //Firefox filefix = "filename*="+fileName; }else{ filefix = "filename="+fileName; } //告訴瀏覽器以下載方式打開資源 response.setHeader("Content-Disposition", "attachment;"+filefix); //把本地文件發(fā)送給瀏覽器 byte[] buf = new byte[1024]; int len = 0; while( (len=in.read(buf))!=-1 ){ response.getOutputStream().write(buf, 0, len); } //關(guān)閉 in.close();
以上就是關(guān)于“怎么在Java Servlet中實(shí)現(xiàn)文件下載功能”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。