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

首頁(yè) > 編程 > JSP > 正文

jsp+servlet實(shí)現(xiàn)文件上傳與下載功能

2020-07-26 23:16:12
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例為大家分享了jsp servlet實(shí)現(xiàn)文件上傳與下載的具體代碼,供大家參考,具體內(nèi)容如下

上傳:

需要導(dǎo)入兩個(gè)包: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()返回的是文件名字 普通域沒(méi)有文件 返回NULL  //     String Name = fileItem.getName();  String Content = fileItem.getString("gbk");  request.setAttribute(FieldName, Content); } else {   String nm = fileItem.getName().substring(  fileItem.getName().lastIndexOf("http://") + 1);  File mkr = new File(path, nm);  if (mkr.createNewFile()) {  fileItem.write(mkr);//非常方便的方法  }  request.setAttribute("result", "上傳文件成功!"); } } } catch (Exception e) { e.printStackTrace(); request.setAttribute("result", "上傳失敗,請(qǐng)查找原因,重新再試!"); } request.getRequestDispatcher("/pages/admin/annex-manager.jsp").forward( request, response); }}

下載(i/o流)無(wú)需導(dǎ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); } /* * 處理請(qǐng)求 * (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絕對(duì)路徑 String path = request.getSession().getServletContext().getRealPath("/"); String savePath = path + "upload"; // 設(shè)置為下載application/x-download response.setContentType("application/x-download"); // 即將下載的文件在服務(wù)器上的絕對(duì)路徑 String filenamedownload = savePath + "/" + name; // 下載文件時(shí)顯示的文件保存名稱 String filenamedisplay = name; // 中文編碼轉(zhuǎn)換 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) { } }}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 法库县| 泊头市| 灵台县| 汾阳市| 洛扎县| 剑河县| 伊吾县| 芦山县| 长沙市| 北京市| 四平市| 呼伦贝尔市| 云霄县| 鲁山县| 利辛县| 镇平县| 枝江市| 新邵县| 五大连池市| 舒兰市| 陆河县| 东乌| 京山县| 洪洞县| 广东省| 德钦县| 通化县| 九龙城区| 孙吴县| 海阳市| 广饶县| 平泉县| 镇雄县| 元阳县| 泰兴市| 潼南县| 霸州市| 江都市| 黑山县| 沈阳市| 焉耆|