1. 程式人生 > >JSP實現圖片上傳

JSP實現圖片上傳

upfile.jsp 檔案程式碼如下:
  <form method="post" action="uploadimage.jsp" name="form1" enctype="multipart/form-data">

  <input type="file" name="file">

  <input type="submit" name="sub" value="upload">

   </form>
 檔案程式碼如下:
<%@ page language="java"  pageEncoding="gb2312"%>

<%@ page import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,java.sql.*,com.jspsmart.upload.*,java.util.*"%>

<%@ page import="mainClass.*" %>



<html>

  <head>

    <title>My JSP 'uploadimage.jsp' starting page</title>

  </head>

  

  <body>

    <%

    SmartUpload sma=new SmartUpload();

    

    long file_max_size=4000000;

    

    String filename1="",ext="",testvar="";

    

    String url="uploadfiles/";

    

    sma.initialize(pageContext);

    

    try

    {

    sma.setAllowedFilesList("jpg,gif");

    

    sma.upload();

    

    }catch(Exception e){

    %>

    <script language="jscript">

    alert("只允許上傳jpg,gif圖片")

    window.location.href="upfile.jsp"

    </script>

    <%

    }

    try{

    com.jspsmart.upload.File myf=sma.getFiles().getFile(0);

    

    if(myf.isMissing()){

    

    %>

    <script language="jscript">

    alert("請選擇要上傳的檔案!")

    window.location.href="upfile.jsp"

    </script>

    <%

    }else{

    

    ext=myf.getFileExt();

    

    int file_size=myf.getSize();

    

    String saveurl="";

    

    if(file_size < file_max_size){

    

    Calendar cal=Calendar.getInstance();

    

    String filename=String.valueOf(cal.getTimeInMillis());

    

    saveurl=request.getRealPath("/")+url;

    

    saveurl+=filename+"."+ext;

    

    myf.saveAs(saveurl,sma.SAVE_PHYSICAL);

    

    myclass mc=new myclass(request.getRealPath("data/data.mdb"));

    

    mc.executeInsert("insert into [path] values('uploadfiles/"+filename+"."+ext+"')");

    

    out.println("圖片上傳成功!");

    

    response.sendRedirect("showimg.jsp");

    }

    

    }

    

    }catch(Exception e){

    e.printStackTrace();

    }

    %>

  </body>

</html>