图片上传+插数据库-简单版

这是一个表单上传项addBook.jsp


 

 

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
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 'addBook.jsp' starting page</title>

  </head>
 
  <body>
   <form action="<%=basePath%>adminAddBook" method="post"  >
      书籍编号:<input name="isbn" type="text"/><br>
   书&nbsp;&nbsp;&nbsp; 名:<input name="title" type="text"/><br>
   版&nbsp;&nbsp;&nbsp; 本:<input name="editionNumber" type="text"/><br>
   版&nbsp;&nbsp;&nbsp; 权:<input name="copyright" type="text"/><br>
   出版商ID:<input type="text" name="publisherID"><br>
   封面图像:<input name="imageFile" type="text"/><br>
   文件上传:<input name="image" type="file"/><br>
   价&nbsp;&nbsp;&nbsp; 格:<input name="price" type="text" /><br>
   <input name="ok" type="submit"value="提交">&nbsp;&nbsp;&nbsp;&nbsp;<input name="ok" type="reset"value="重置">
  </form>
  </body>
</html>


这是一个servlet的文件处理数据


package org.ibm.ebook.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.ibm.ebook.conn.DBConnection;
import org.ibm.ebook.dto.BookDTO;
import org.ibm.ebook.service.BooksTitlesService;

 

import java.io.*;
import com.sun.image.codec.jpeg.*;
import java.awt.image.*;


public class adminAddBook extends HttpServlet {
 /**
  *
  */
 private static final long serialVersionUID = 1L;


 public void doGet(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {

  this.doPost(request, response);
 }


 public void doPost(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {

    //接取编码格式
  request.setCharacterEncoding("GBK");

//在网页上显示的编码格式
  response.setContentType("text/html;charset=GBK");

  //获取表单数据
  String isbn = request.getParameter("isbn");
  String title = request.getParameter("title");

//类型转换

  String editionNumber = request.getParameter("editionNumber"); 
  int enu = Integer.parseInt(editionNumber);

 

  String copyright = request.getParameter("copyright");

 

  String publisherID = request.getParameter("publisherID");
  int pid = Integer.parseInt(publisherID);

 

  String imageFile = request.getParameter("imageFile");

  //System.out.println(imageFile);

 

//转换为double型数据
  double price = Double.parseDouble(request.getParameter("price"));

 


  BooksTitlesService bts=new BooksTitlesService();

 

//连接数据库
  Connection con = new DBConnection().getConnection();
  //封装
  BookDTO bdto=new BookDTO();
  bdto.setIsbn(isbn);
  bdto.setTitle(title);
  bdto.setEditionNumber(enu);
  bdto.setCopyright(copyright);
  bdto.setPublisherID(pid);
  bdto.setImageFile(imageFile+".jpg");
  bdto.setPrice(price);
  

 

 

//从下面开始就是图片上传了


  String ima=request.getParameter("image");
  try{  

 

//titles是图片名字做一次转换,字节型,因为上面已经转过,实际上没必要了

   title=new String(title.getBytes("GBK"));

//获取地址当前地址如果在aa文件中 就是aa
   String path=request.getContextPath(); 
  
     //System.out.println(path);

  //输出流获取表单的命名+.jpg进行图片上传
   FileOutputStream ot = new FileOutputStre("D://Administrator//workspace"+path+"//WebRoot//images//"+title+".jpg"); 
   

//System.out.println(ot);


   // ServletOutputStream ot=response.getOutputStream();
   //也可以直接输出显示  

//输入流
   FileInputStream in=new FileInputStream(ima);

   JPEGImageDecoder jpgCodec = JPEGCodec.createJPEGDecoder(in);  

 
   BufferedImage image = jpgCodec.decodeAsBufferedImage(); 


   JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(ot); 

   encoder.encode(image);  


   in.close();   
   ot.close();  
   PrintWriter out = response.getWriter();
   out.print("JSP上传图片成功!<BR>");  
   //加载上传成功的图片   
   out.print("<IMG width=200 height=200 src='D:/Administrator/workspace/ebooks/WebRoot/images/"+title+".jpg' />");

  }  
  catch(Exception e){  
   System.out.print(e.toString()); 
  }
  boolean flag=bts.insterTitles(bdto, con);
  if(flag){ 
   System.out.print("添加成功");
  }
  else{


   System.out.print("添加失败");
  }
  DBConnection.close(null,null,null,null,con);
 }
}

 


用的时候,要以个包是com.jspsmart.upload   (没有这个你就不能运行)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值