国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

jsp+servlet實現文件上傳與下載功能

2024-09-05 00:23:32
字體:
來源:轉載
供稿:網友

本文實例為大家分享了jsp servlet實現文件上傳與下載的具體代碼,供大家參考,具體內容如下

上傳:

需要導入兩個包:commons-fileupload-1.2.1.jar,commons-io-1.4.jar

import java.io.File;import java.io.IOException;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;/** * 上傳附件 * @author new * */public class UploadAnnexServlet extends HttpServlet { private static String path = ""; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /* * post處理 * (non-Javadoc) * @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { path = this.getServletContext().getRealPath("/upload"); try { DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload up = new ServletFileUpload(factory); List<FileItem> ls = up.parseRequest(request); for (FileItem fileItem : ls) { if (fileItem.isFormField()) {  String FieldName = fileItem.getFieldName();  //getName()返回的是文件名字 普通域沒有文件 返回NULL  //     String Name = fileItem.getName();  String Content = fileItem.getString("gbk");  request.setAttribute(FieldName, Content); } else {   String nm = fileItem.getName().substring(  fileItem.getName().lastIndexOf("//") + 1);  File mkr = new File(path, nm);  if (mkr.createNewFile()) {  fileItem.write(mkr);//非常方便的方法  }  request.setAttribute("result", "上傳文件成功!"); } } } catch (Exception e) { e.printStackTrace(); request.setAttribute("result", "上傳失敗,請查找原因,重新再試!"); } request.getRequestDispatcher("/pages/admin/annex-manager.jsp").forward( request, response); }}

下載(i/o流)無需導包:

import java.io.IOException;import java.net.URLEncoder;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * 下載文件 * @author * */public class DownloadFilesServlet extends HttpServlet { /** *  */ private static final long serialVersionUID = 8594448765428224944L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /* * 處理請求 * (non-Javadoc) * @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name = request.getParameter("fileName"); System.out.print("dddddddddd:" + name); // web絕對路徑 String path = request.getSession().getServletContext().getRealPath("/"); String savePath = path + "upload"; // 設置為下載application/x-download response.setContentType("application/x-download"); // 即將下載的文件在服務器上的絕對路徑 String filenamedownload = savePath + "/" + name; // 下載文件時顯示的文件保存名稱 String filenamedisplay = name; // 中文編碼轉換 filenamedisplay = URLEncoder.encode(filenamedisplay, "UTF-8"); response.addHeader("Content-Disposition", "attachment;filename=" + filenamedisplay); try { java.io.OutputStream os = response.getOutputStream(); java.io.FileInputStream fis = new java.io.FileInputStream(  filenamedownload); byte[] b = new byte[1024]; int i = 0; while ((i = fis.read(b)) > 0) { os.write(b, 0, i); } fis.close(); os.flush(); os.close(); } catch (Exception e) { } }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JSP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 明光市| 仪陇县| 高邑县| 锡林郭勒盟| 利津县| 高雄市| 图们市| 金堂县| 兴宁市| 寻甸| 尚义县| 自治县| 慈溪市| 成安县| 龙海市| 湖南省| 米脂县| 子长县| 密云县| 衢州市| 通许县| 成安县| 丰城市| 铜梁县| 克东县| 宜丰县| 沁阳市| 蒙自县| 新绛县| 嘉鱼县| 茶陵县| 双鸭山市| 新蔡县| 武冈市| 岑溪市| 灵丘县| 高密市| 桑植县| 社旗县| 株洲市| 呼和浩特市|