java中Servlet程序下載文件實例詳解
對于一些普通的文件下載,想必大家都會去點擊默認的鏈接進行資料獲取。效率慢是一個方面,有時候下載的過程并不順序。在學習了python中的一些程序后,我們可以選擇使用Servlet進行文件的下載。下面我們先就Servlet進行簡單的說明,然后帶來有關的下載文件代碼實例。
1、說明
Servlet是Sun公司開發(fā)的用于交互式地瀏覽和生成數據,生成動態(tài)Web的技術。狹義的Servlet是指Java語言實現(xiàn)的一個接口。但一般情況下,我們把實現(xiàn)了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")){ //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); } //關閉 in.close();
到此這篇關于java中Servlet程序下載文件實例詳解的文章就介紹到這了,更多相關java中Servlet程序下載文件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java使用Spring Batch處理大規(guī)模數據的實踐分享
在處理大規(guī)模數據的場景中,批處理是一個非常常見且必要的操作,Java中的Spring Batch是一個強大的框架,能夠幫助我們高效地執(zhí)行復雜的批處理任務,本文將帶大家了解如何使用Spring Batch處理大規(guī)模數據,并通過代碼示例展示如何實現(xiàn)高效的批處理,需要的朋友可以參考下2024-10-10SpringBoot整合Redis實現(xiàn)消息發(fā)布與訂閱的示例代碼
能實現(xiàn)發(fā)送與接收信息的中間介有很多,比如:RocketMQ、RabbitMQ、ActiveMQ、Kafka等,本文主要介紹了Redis的推送與訂閱功能并集成Spring Boot的實現(xiàn),感興趣的可以了解一下2022-08-08