利用SmartUpLoad实现文件的上传

1.jsp文件

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'upload.jsp' starting page</title>
   
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
   
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>
 
  <body>
   <table border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="45" align="center" valign="middle">
   
    <form action="UpLoad" method="post" enctype="multipart/form-data" name="form1">
  请选择上传的图片
    <input type="file" name="file">
<input type="submit" name="Submit" value="上传">
    </form></td>
  </tr>
</table>
  </body>
</html>


2.servlet类(在servlet里直接进行上传操作)

package com.zyc.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Calendar;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspFactory;
import javax.servlet.jsp.PageContext;

import com.jspsmart.upload.SmartUpload;

public class UpLoad extends HttpServlet {

 /**
  * Constructor of the object.
  */
 public UpLoad() {
  super();
 }

 /**
  * Destruction of the servlet. <br>
  */
 public void destroy() {
  super.destroy(); // Just puts "destroy" string in log
  // Put your code here
 }

 /**
  * The doGet method of the servlet. <br>
  *
  * This method is called when a form has its tag value method equals to get.
  *
  * @param request the request send by the client to the server
  * @param response the response send by the server to the client
  * @throws ServletException if an error occurred
  * @throws IOException if an error occurred
  */
 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  response.setContentType("text/html");

 }

 /**
  * The doPost method of the servlet. <br>
  *
  * This method is called when a form has its tag value method equals to post.
  *
  * @param request the request send by the client to the server
  * @param response the response send by the server to the client
  * @throws ServletException if an error occurred
  * @throws IOException if an error occurred
  */
 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  response.setContentType("text/html");
  
  SmartUpload mySmartUpload =new SmartUpload();
  long file_size_max=4000000;
  String fileName2="",ext="",testvar="";
  String url="images/";
   try{
        JspFactory _jspxFactory = null;
        PageContext pageContext = null;
        _jspxFactory = JspFactory.getDefaultFactory();
        pageContext = _jspxFactory.getPageContext(this,request,response,"",true,8192,true);

  
        mySmartUpload.initialize(pageContext);
       
        mySmartUpload.setAllowedFilesList("jpg,gif");
//      上载文件
       mySmartUpload.upload();
      
       com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);
      
       String myFileName=myFile.getFileName(); //取得上载的文件的文件名
       ext= myFile.getFileExt();
       int file_size=myFile.getSize();
       String saveurl="";
       Calendar calendar = Calendar.getInstance();
       String filename = String.valueOf(calendar.getTimeInMillis());
       saveurl=request.getRealPath("/")+url;
       saveurl+=filename+"."+ext;
       myFile.saveAs(saveurl,mySmartUpload.SAVE_PHYSICAL);
      
   }catch(Exception e){
    e.printStackTrace();
   }
 }

 /**
  * Initialization of the servlet. <br>
  *
  * @throws ServletException if an error occure
  */
 public void init() throws ServletException {
  // Put your code here
 }

}


你可能感兴趣的:(利用SmartUpLoad实现文件的上传)