package cn.com.ajava.servlet;
import java.awt.Rectangle;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.Iterator;
import javax.imageio.ImageIO;
import javax.imageio.ImageReadParam;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletImage extends HttpServlet
{
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ServletImage()
{
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
// TODO Auto-generated method stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String systemPath = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + systemPath + "/";
int x1 = Integer.valueOf((String) request.getParameter("x"));
int y1 = Integer.valueOf((String) request.getParameter("y"));
int w = Integer.valueOf((String) request.getParameter("w"));
int h = Integer.valueOf((String) request.getParameter("h"));
String filePath = (String) request.getParameter("img");
FileInputStream is = null;
ImageInputStream iis = null;
try
{
String currentDirPath = this.getServletConfig().getServletContext().getRealPath(filePath);
is = new FileInputStream(currentDirPath);
Iterator<ImageReader> it = ImageIO.getImageReadersByFormatName("jpg");
ImageReader reader = it.next();
iis = ImageIO.createImageInputStream(is);
reader.setInput(iis, true);
ImageReadParam param = reader.getDefaultReadParam();
Rectangle rect = new Rectangle(x1, y1, w, h);
param.setSourceRegion(rect);
java.awt.image.BufferedImage bi = reader.read(0, param);
String savePath = "D:/Tomcat6/webapps/JavaImage/jcrop/upload";
String fileName = new Date().getTime()+".jpg";
File file1 = new File(savePath);
if (!file1.exists()) {
file1.mkdirs();
}
ImageIO.write(bi, "jpg", new File(savePath +"/"+fileName));
String webPath = filePath.substring(0, filePath.lastIndexOf("/"));
String responseText = basePath + "jcrop/upload" + "/"+fileName;
PrintWriter out = response.getWriter();
out.print(responseText);
//System.out.println(responseText);
} catch (Exception e)
{
e.printStackTrace();
} finally
{
if (is != null)
is.close();
if (iis != null)
iis.close();
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
JavaImage-Jquery预览裁剪.rar (25个子文件)
JavaImage
.project 1KB
.mymetadata 300B
src
cn
com
ajava
servlet
ServletUploadFile.java 3KB
ServletImage.java 3KB
WebRoot
WEB-INF
classes
cn
com
ajava
servlet
ServletUploadFile.class 4KB
ServletImage.class 4KB
lib
commons-fileupload-1.2.1.jar 56KB
web.xml 1KB
index.jsp 902B
js
swfobject.js 7KB
jcrop
demo_files
demos.css 558B
flowers.jpg 45KB
sagomod.png 77KB
sago.jpg 18KB
sagomod.jpg 16KB
js
jquery.Jcrop.js 25KB
jquery.min.js 56KB
jquery.Jcrop.min.js 17KB
jcrop.jsp 4KB
css
jquery.Jcrop.css 748B
Jcrop.gif 329B
META-INF
MANIFEST.MF 39B
flex
src
ImageMaskCut.mxml 12KB
bin-release
ImageMaskCut.swf 925KB
.myeclipse
.classpath 427B
共 25 条
- 1
资源评论
- yu757186192013-01-25预览的页面不能裁剪,用鼠标划区域裁剪的页面,截出来的位置不准确不说,下面也显示不出来裁剪完的图片。
- open_java2014-06-15调试了很久 预览图片的坐标获取还是不准确
- 天翔ljsongcn2013-01-06不错学习一下,工程可以使用,感谢分享
- 码农山泉2013-11-07不错,调试后可以使用,感谢分享
- 北风大王2013-07-02还是能用的,不过我也调了好久才可以,感谢分享.
The968743
- 粉丝: 3
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功