java中Servlet程序下載文件實例詳解
對于一些普通的文件下載,想必大家都會去點擊默認的鏈接進行資料獲取。效率慢是一個方面,有時候下載的過程并不順序。在學習了python中的一些程序后,我們可以選擇使用Servlet進行文件的下載。下面我們先就Servlet進行簡單的說明,然后帶來有關的下載文件代碼實例。
1、說明Servlet是Sun公司開發的用于交互式地瀏覽和生成數據,生成動態Web的技術。狹義的Servlet是指Java語言實現的一個接口。但一般情況下,我們把實現了Servlet接口的Java程序叫做Servlet
2、使用servlet程序下載//得到需要下載的文件String path = this.getServletContext().getRealPath('/upload/9/1/圖片1.png');File file = new File(path);//讀取服務器本地的文件FileInputStream in = new FileInputStream(file);/** * 處理URL編碼問題 */String fileName = file.getName();//對文件名進行URl編碼fileName = URLEncoder.encode(fileName, 'utf-8');//判斷不同瀏覽器String userAgent = request.getHeader('user-agent');String filefix = null;if(userAgent.contains('Trident')){//IEfilefix = 'filename='+fileName;}else if(userAgent.contains('Firefox')){//Firefoxfilefix = 'filename*='+fileName;}else{filefix = 'filename='+fileName;}//告訴瀏覽器以下載方式打開資源response.setHeader('Content-Disposition', 'attachment;'+filefix);//把本地文件發送給瀏覽器byte[] buf = new byte[1024];int len = 0;while( (len=in.read(buf))!=-1 ){response.getOutputStream().write(buf, 0, len);}//關閉in.close();
到此這篇關于java中Servlet程序下載文件實例詳解的文章就介紹到這了,更多相關java中Servlet程序下載文件內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
1. 使用.net core 自帶DI框架實現延遲加載功能2. php網絡安全中命令執行漏洞的產生及本質探究3. Angular獲取ngIf渲染的Dom元素示例4. php面向對象程序設計介紹5. ASP調用WebService轉化成JSON數據,附json.min.asp6. 無線標記語言(WML)基礎之WMLScript 基礎第1/2頁7. 三個不常見的 HTML5 實用新特性簡介8. php測試程序運行速度和頁面執行速度的代碼9. Warning: require(): open_basedir restriction in effect,目錄配置open_basedir報錯問題分析10. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執行過程解析
