jsp文件上傳與下載實(shí)例代碼_JSP教程

      編輯Tag賺U幣

      推薦:jstl實(shí)現(xiàn)在jsp中動(dòng)態(tài)添加下拉列表項(xiàng)
      使用下面這個(gè)jsp的前,你需要寫一個(gè)Stu類,生成set和get方法。 Public Class Stu{ private int id; private String name; public void setId(int id){ this.id=id; } public int getId(){ return this.id; } public void setName(String name){ this.name=name; } publ

      文件上傳
      復(fù)制代碼 代碼如下:www.wf0088.com

      public class UploadServlet extends HttpServlet{
      @Override
      protected void doGet(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
      doPost(req, resp);
      }
      @Override
      protected void doPost(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
      SmartUpload myupload = new SmartUpload();
      ServletConfig config = getServletConfig();
      myupload.initialize(config,req,resp);
      resp.setContentType("text/html");
      resp.setCharacterEncoding("utf-8");
      PrintWriter out = resp.getWriter();
      out.println("<h2>處理上傳的文件</h2>");
      out.println("<hr>");

      try {
      myupload.setMaxFileSize(1024*1024);
      myupload.setTotalMaxFileSize(5*1024*1024);

      myupload.setAllowedFilesList("doc,txt,jpg,gif");
      myupload.setDeniedFilesList("exe,bat,jsp,htm,html");
      myupload.upload();//上傳文件,此項(xiàng)是必須的
      int count = myupload.getFiles().getCount();
      Request myRequest = myupload.getRequest();
      String rndFilename,fileExtName,fileName,filePathName;
      Date dt = null;
      SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMdd");
      //一一提取上傳文件信息,同時(shí)可保持文件
      for(int i = 0; i < count; i++){
      File file = myupload.getFiles().getFile(i);
      if(file.isMissing())
      continue;
      fileName = new String(file.getFileName().getBytes(),"utf-8");//獲取文件名
      filePathName = new String(file.getFilePathName().getBytes(),"utf-8");
      fileExtName = file.getFileExt();
      dt = new Date(System.currentTimeMillis());
      Thread.sleep(100);
      rndFilename = fmt.format(dt)+i+"."+fileExtName;
      out.println("第"+(i+1)+"個(gè)文件的文件信息:<br>");
      out.println(" 文件名為:"+fileName+"<br>");
      out.println(" 文件擴(kuò)展名為:"+fileExtName+"<br>");
      out.println(" 文件全名:"+filePathName+"<br>");
      out.println(" 文件大。"+file.getSize()/1024+"kb<br>");
      //創(chuàng)建文件保存位置
      ServletContext context = req.getServletContext();
      String savePath = context.getRealPath("/upload/");
      java.io.File folder = new java.io.File(savePath);
      if(!folder.exists()){
      folder.mkdirs();
      }
      out.println(" 文件保存路徑:"+savePath);
      file.saveAs(savePath+"/"+rndFilename,SmartUpload.SAVE_PHYSICAL);
      }

      } catch (Exception e) {
      out.println("文件上傳失。。。!");
      e.printStackTrace();
      }
      out.flush();
      out.close();

      }
      }

      復(fù)制代碼 代碼如下:www.wf0088.com

      <%@ page language="java" contentType="text/html; charset=UTF-8"
      pageEncoding="UTF-8"%>
      <%@ page import="com.jspsmart.upload.*" %>
      <%
      //設(shè)定請(qǐng)求編碼方式,否則遇到中文就會(huì)亂碼
      request.setCharacterEncoding("utf-8");
      %>
      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>上傳文件實(shí)例</title>
      <script type="text/javascript" src="js/jquery-1.8.1.js"></script>
      <script type="text/javascript">
      $(function(){
      $("#number").change(function(){
      var number = $("#number").attr("value");
      $("#files").html("");
      for(var i = 0; i < number; i++){
      $("#files").append("<input type='file' name='file''"+i+"'><br/>");
      }
      });
      });
      </script>
      </head>
      <body>
      <h2>上傳文件實(shí)例</h2>
      請(qǐng)選擇上傳文件數(shù)量:
      <select id="number">
      <option value="1" selected="selected">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      </select>
      <form action="UploadServlet" method="post" enctype="multipart/form-data">
      <div id="files"></div>
      <input type="submit" value="提交"/>
      </form>
      </body>
      </html>

      文件下載
      復(fù)制代碼 代碼如下:www.wf0088.com

      <%
      response.setContentType("application/x-download");//設(shè)置為下載application/x-download
      String filedownload = "/要下載的文件名";//即將下載的文件的相對(duì)路徑
      String filedisplay = "最終要顯示給用戶的保存文件名";//下載文件時(shí)顯示的文件保存名稱
      String filenamedisplay = URLEncoder.encode(filedisplay,"UTF-8");
      response.addHeader("Content-Disposition","attachment;filename=" + filedisplay);
      try
      {
      RequestDispatcher dis = application.getRequestDispatcher(filedownload);
      if(dis!= null)
      {
      dis.forward(request,response);
      }
      response.flushBuffer();
      }
      catch(Exception e)
      {
      e.printStackTrace();
      }
      finally
      {
      }
      %>

      分享:JSP中 Session和作用域的使用
      本篇文章小編為大家介紹,JSP中 Session和作用域的使用。需要的朋友參考下

      來(lái)源:模板無(wú)憂//所屬分類:JSP教程/更新時(shí)間:2013-04-24
      相關(guān)JSP教程