最代码广告位
package servlet;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;

import javax.imageio.ImageIO;
import javax.imageio.ImageReadParam;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;


public class ImgServlet extends HttpServlet{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		System.out.println(2);
		String x=req.getParameter("x");
		String y=req.getParameter("y");
		String w=req.getParameter("w");
		String h=req.getParameter("h");
		String img=req.getParameter("img");
		System.out.println(img);
		String file="";
		System.out.println(img.substring(img.lastIndexOf("/")+1,img.length()));
		System.out.println(req.getSession().getServletContext().getRealPath("/"));
		String s="/upload/"+img.substring(img.lastIndexOf("/")+1,img.length());
		System.out.println(s);
		try {
			file=cutImg(new File(req.getSession().getServletContext().getRealPath("/")+s),Integer.valueOf(x),Integer.valueOf(y),Integer.valueOf(w),Integer.valueOf(h));
		} catch (NumberFormatException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		PrintWriter out = resp.getWriter();  
		System.out.println(file.substring(file.indexOf("u"),file.length()));
		out.println(file.substring(file.indexOf("u"),file.length()));  
        out.flush();
	}

	@SuppressWarnings("unchecked")
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		 req.setCharacterEncoding("utf-8");  
	        resp.setContentType("text/html;charset=utf-8");  
		DiskFileItemFactory factory = new DiskFileItemFactory(); 
		ServletFileUpload sfu = new ServletFileUpload(factory);  
		
		try {
			 List<FileItem> items = sfu.parseRequest(req);
			for (int i = 0; i < items.size(); i++) {  
	             FileItem item = items.get(i);  
	             if(!item.isFormField()){  
	                 ServletContext sctx = getServletContext();  
	                 String path = sctx.getRealPath("/upload");  
	                // System.out.println(path);  
	                 //获得文件名  
	                 String fileName = item.getName();  
	                // System.out.println(fileName);  
	                 fileName = fileName.substring(fileName.lastIndexOf("/")+1);  
	                 File file = new File(path+"\\"+fileName);  
	                 if(!file.exists()){  
	                     item.write(file);
	                     String str="/img/upload\\"+fileName;
	                     req.setAttribute("img_path", str.replaceAll("\\\\", "/"));
	                     req.getRequestDispatcher("img_success.jsp").forward(req, resp);
	                 }  
	             }  
	         } 
		} catch (FileUploadException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}  
		
	}
	@SuppressWarnings("unchecked")
	public  String cutImg(File file,Integer x,Integer y,Integer w,Integer h) throws Exception{
		 // 取得图片读入器
      Iterator readers = ImageIO.getImageReadersByFormatName("jpg");
      ImageReader reader = (ImageReader)readers.next();
      // 取得图片读入流
      InputStream source=new FileInputStream(file);
      ImageInputStream iis = ImageIO.createImageInputStream(source);
      reader.setInput(iis, true);
      // 图片参数
      ImageReadParam param = reader.getDefaultReadParam();
      Rectangle rect = new Rectangle(x,y,w,h);
      param.setSourceRegion(rect);
      BufferedImage bi = reader.read(0,param);             
      ImageIO.write(bi, "jpg",file);
		return file.getAbsolutePath();
	}
}
最近下载更多
www-chrome LV68月23日
月亮星星星星
dl51918 LV36月23日
星星星星星星
hola123 LV25月14日
星星星星
zd5468 LV74月27日
月亮星星星星星星
pzy12345 LV83月30日
月亮月亮
java小书童 LV142019年12月12日
月亮月亮月亮星星星星
2952608435 LV12019年10月23日
星星
zywzywzyw1 LV172019年9月28日
太阳星星
tianboguang LV72019年8月19日
月亮星星星星星星
cxdxfx12 LV102019年8月5日
月亮月亮星星星星
最近浏览更多
kelvin007008 LV711月17日
月亮星星星星星星
啊最代码我要下 LV159月27日
月亮月亮月亮星星星星星星
死神的眷恋 LV109月9日
月亮月亮星星星星
www-chrome LV68月23日
月亮星星星星
wangyan111111 LV58月17日
月亮星星
han329574 LV67月21日
月亮星星星星
dl51918 LV36月23日
星星星星星星
caozhaoqi83 LV46月8日
月亮
cesare-blog LV65月26日
月亮星星星星
TerryGaoBo LV75月26日
月亮星星星星星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友