用Struts向MYSQL数据库中储存图片实例

http://tech.ddvip.com   2007年08月23日    社区交流

内容摘要:这个例子是通过用Struts的FormFile来写入到MySQL中。用户通过选一个图片,然后按submit就可以存入数据库中

//Created by MyEclipse Struts
// XSL source (default):
platform:/plugin/com.genuitec.eclipse.
cross.easystruts.eclipse_3.8.1
/xslt/JavaClass.xsl
package saoo.struts.action;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
import saoo.struts.form.MultiForm;
/**
* MyEclipse Struts
* Creation date: 08-24-2004
*
* XDoclet definition:
* @struts:action path="/multi"
name="multiForm" input="/form/multi.jsp"
scope="request"
*/
public class MultiAction extends Action
{
  // ---------------
Instance Variables
  // ---------------
Methods
  /**
   * Method execute
   * @param mapping
   * @param form
   * @param request
   * @param response
   * @return ActionForward
   */
  public ActionForward execute(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response)
    {
    MultiForm multiForm = (MultiForm)
    form;
    FormFile file = multiForm.getFile();
    String name = multiForm.getName();
    try {
      Class.forName
      ("org.gjt.mm.mysql.Driver");
      String url="jdbc:mysql:
      ///test";
      Connection con=DriverManager.getConnection
      (url,"root","password");
      String sql="insert into pic values (?,?)";
      PreparedStatement ps
      =con.prepareStatement(sql);
      ps.setString(1, name);
//加入图片到数据库
  
ps.setBinaryStream
(2,file.getInputStream(),
file.getFileSize());
      ps.executeUpdate();
      ps.close();
      con.close();
    } catch (SQLException se)
    {
      se.printStackTrace();
      return mapping.findForward("error");
    } catch (ClassNotFoundException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      return mapping.findForward("error");
    } catch (FileNotFoundException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      return mapping.findForward("error");
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      return mapping.findForward("error");
    }
    return mapping.findForward("success");
  }
}

责编:豆豆技术应用

正在加载评论...