您好,登錄后才能下訂單哦!
這篇文章的內容主要圍繞怎么進行java web 文件上傳進行講述,文章內容清晰易懂,條理清晰,非常適合新手學習,值得大家去閱讀。感興趣的朋友可以跟隨小編一起閱讀吧。希望大家通過這篇文章有所收獲!
文件資源位置:web/img下 HTML頁面 <!DOCTYPE html>
<html lang="en"> <head> <meta charset="UTF-8"> <title>學習文件下載</title> </head> <body> <h2>使用超鏈接</h2> <a href="/filedown/img/abc.png">圖片1</a> <a href="/filedown/img/aa.flv">視頻1</a> <a href="/filedown/img/奧尼爾.gif">圖片2</a> <hr/> <a href="/filedown/downServlet?filename=abc.png">圖片1</a> <a href="/filedown/downServlet?filename=aa.flv">視頻1</a> <a href="/filedown/downServlet?filename=奧尼爾.gif">中文圖片2</a> </body> </html>
Servlet 類 @WebServlet("/downServlet") public class FileDownServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //獲取請求參數,文件名稱 String filename = request.getParameter("filename"); ServletContext context = this.getServletContext(); //找到服務器文件的真實路徑 String realPath = context.getRealPath("/img/" + filename); //使用字節流關聯 FileInputStream fis=new FileInputStream(realPath); /* 設置響應頭 響應頭類型:content-type 響應頭打開方式:content-disposition */ String mimeType = context.getMimeType(filename); response.setHeader("content-type",mimeType); //獲取user-agent請求頭 String agent = request.getHeader("user-agent"); //使用工具類方法編碼文件名即可 filename = DownLoadUtils.getFileName(agent, filename); response.setHeader("content-disposition","attachment;filename="+filename); //將輸入流的數據寫出到輸出流中 ServletOutputStream sos = response.getOutputStream(); byte[] bytes=new byte[1024*8]; int len=0; while ((len=fis.read(bytes))!=-1){ sos.write(bytes,0,len); } fis.close(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request,response); } } util工具類:對文件名編碼
public class DownLoadUtils { public static String getFileName(String agent, String filename) throws UnsupportedEncodingException { if (agent.contains("MSIE")) { // IE瀏覽器 filename = URLEncoder.encode(filename, "utf-8"); filename = filename.replace("+", " "); } else if (agent.contains("Firefox")) { // 火狐瀏覽器 BASE64Encoder base64Encoder = new BASE64Encoder(); filename = "=?utf-8?B?" + base64Encoder.encode(filename.getBytes("utf-8")) + "?="; } else { // 其它瀏覽器 filename = URLEncoder.encode(filename, "utf-8"); } return filename; } }
Java的特點有哪些 1.Java語言作為靜態面向對象編程語言的代表,實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。 2.Java具有簡單性、面向對象、分布式、安全性、平臺獨立與可移植性、動態性等特點。 3.使用Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。
感謝你的閱讀,相信你對“怎么進行java web 文件上傳”這一問題有一定的了解,快去動手實踐吧,如果想了解更多相關知識點,可以關注億速云網站!小編會繼續為大家帶來更好的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。