上传图片是获取图片的宽和高,然后进行等比缩小!!!小女子拜托了!!!!

Ansel-枫儿-Moe 2015-02-11 04:40:59
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setCharacterEncoding("utf-8");
HttpSession session = request.getSession();
String pathtype =request.getParameter("pathtype");//存放类型
String savepath =request.getParameter("savepath"); //放在哪个盘符
String imgpath =request.getParameter("imgpath");//后面文件夹
String datapath =request.getParameter("datapath");//数据库路径
String bckurl =request.getParameter("bckurl"); //要返回路径
System.out.println("pathtype:"+pathtype);
System.out.println("savepath:"+savepath);
System.out.println("imgpath:"+imgpath);
System.out.println("datapath:"+datapath);
System.out.println("bckurl:"+bckurl);
String imgurl ="";
//String Small_img ="";
try{
String pp=null;
String upto=null;
if(ServletFileUpload.isMultipartContent(request)){
DiskFileItemFactory dff = new DiskFileItemFactory();
dff.setRepository(tmpDir);
dff.setSizeThreshold(10240000);
ServletFileUpload sfu = new ServletFileUpload(dff);
sfu.setFileSizeMax(50000000);
sfu.setSizeMax(10000000);
FileItemIterator fii = sfu.getItemIterator(request);
//int a=0;
while(fii.hasNext()){
FileItemStream fis = fii.next();
String fileName ="";
String path="";
if(!fis.isFormField() && fis.getName().length()>0){
if(fis.getName().lastIndexOf("\\")!=-1){
fileName = fis.getName().substring(fis.getName().lastIndexOf("\\"));
}
else fileName = fis.getName();
Date time=new Date();
String dirTime=String.valueOf(time.getTime());
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;
int date = c.get(Calendar.DATE);

if (pathtype.equals("1")){
path=savepath; //String path="F:\\eclise-work\\workspace\\";
}else{
path = request.getRealPath("/dynamic");
//System.out.println("request.getRealPath()=="+request.getRealPath("/"));
}

// path2="\\data\\avatars"; imgpath

long filestr=System.currentTimeMillis();
//path1="data/avatars"; datapath //数据库写入 前路径
imgurl=datapath+"/"+filestr+".jpg"; //数据库写入 文件完整路径
String uploadPath1 = path+imgpath;
System.out.println(imgurl);//数据库存入路径
System.out.println(uploadPath1);//本地的所有路径
if(!new File(uploadPath1).isDirectory())
new File(uploadPath1).mkdirs();
fileName=fileName.substring(fileName.lastIndexOf("."));
int str1=fileName.indexOf("?");
if(str1!=-1){
fileName=fileName.substring(0, str1);
}
BufferedInputStream in1= new BufferedInputStream(fis.openStream());
BufferedOutputStream out1 = new BufferedOutputStream(new FileOutputStream(new File(uploadPath1+"\\"+filestr+fileName)));
Streams.copy(in1, out1, true);
}
}
}
}catch(Exception e){
e.printStackTrace();
}
session.setAttribute("imgurl", imgurl);
response.sendRedirect(bckurl);
}


这个事上传图片的Servlet,求大神在这个基础上改动代码,获得图片的宽和高,然后进行缩小,求大神啊!!!!!!!!!!
...全文
338 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lpokm0550 2015-02-13
  • 打赏
  • 举报
回复
http://blog.chinaunix.net/uid-570310-id-2734859.html 我也是百度的
Ansel-枫儿-Moe 2015-02-11
  • 打赏
  • 举报
回复
引用 6 楼 u014035439 的回复:
支持下枫儿,好像jQuery可以实现这个功能的
恩恩~雪雪么么哒~
Ansel-枫儿-Moe 2015-02-11
  • 打赏
  • 举报
回复
引用 5 楼 my_mtx 的回复:
一 string fullname = FileUpload.PostedFile.FileName; long filesize = FileUpload.PostedFile.ContentLength;//获取图片大小 FileInfo fi = new FileInfo(fullname); 二 BufferedImage bf = ImageIo.read(file.getAbsoluteFile()); bf.getWidth(); bf.getHeight();
谢谢你啊~~
懒得理你1995 2015-02-11
  • 打赏
  • 举报
回复
支持下枫儿,好像jQuery可以实现这个功能的
my_mtx 2015-02-11
  • 打赏
  • 举报
回复
一 string fullname = FileUpload.PostedFile.FileName; long filesize = FileUpload.PostedFile.ContentLength;//获取图片大小 FileInfo fi = new FileInfo(fullname); 二 BufferedImage bf = ImageIo.read(file.getAbsoluteFile()); bf.getWidth(); bf.getHeight();
Ansel-枫儿-Moe 2015-02-11
  • 打赏
  • 举报
回复
引用 3 楼 hjgzj 的回复:
引用 2 楼 anselmoe 的回复:
[quote=引用 1 楼 hjgzj 的回复:] 我只知道如何获取长高。。
这个也行,这个也行~~
明天吧 我的代码在家呢[/quote]好的~
  • 打赏
  • 举报
回复
引用 2 楼 anselmoe 的回复:
引用 1 楼 hjgzj 的回复:
我只知道如何获取长高。。
这个也行,这个也行~~
明天吧 我的代码在家呢
Ansel-枫儿-Moe 2015-02-11
  • 打赏
  • 举报
回复
引用 1 楼 hjgzj 的回复:
我只知道如何获取长高。。
这个也行,这个也行~~
  • 打赏
  • 举报
回复
我只知道如何获取长高。。
批量图片缩小工具,JPG|PNG|BMP图片缩小工具 可以选择图片质量的清晰度,图片质量越图片越清晰,文件也越大。(下载后如果不是ImageZoom.rar,请加上后缀名.rar然后解压.) 使用说明:把ImageZoom.exe复制到要缩小图片文件夹里并运行,输入最大或最大其中一个值,单位为像素(pix); 最大就是:缩小图片最大的度;最大就是缩小图片最大的度。 当输入的最大和实际图片实际的不成比率的时候,软件自动判断按照输入的图片进行等比缩小。 软件运行成功后会在软件所在的目录下建立个lantou.net文件夹保存缩小后的图片!不影响原先图片。 如果选择“强制按照输入的缩小图片!”(多余的位置填充白色或透明,PNG格式保留透明底色) 则软件将把实际图片缩小到适合这个强制的度后,把缩小后的图片填充上去,上下左右剩下的地方用白色填充(PNG格式保留透明底色)。 PNG格式图片如果原先是透明底色,则所有操作后仍然是透明底色! 使用须知: 1、本程序不支持对GIF图片缩小! 2、包含图片缩小图片转换(BMP转换为JPG)两功能。 3、缩小后的必须输入其中一个! 4、如果输入的都>=图片本身尺寸,则对图片进行缩小操作! 5、如果输入的小于图片实际的,输入的大于图片实际的,则对图片按输入的等比缩小! 6、如果输入的大于图片实际的,输入的小于图片实际的,则对图片按输入的等比缩小! 7、如果输入的两者都小于图片实际的,如果输入的/图片大于输入的/图片,则按照输入的等比缩小!反则按照输入的等比缩小! 8、如果想给操作后的图片和源图片文件名不一样,请勾上“缩小或转换文件后加前缀名”后再操作,软件会自动为每一个新图片在文件名前加“_“符号区分。
批量图片缩小工具V1.08,JPG|PNG|BMP图片缩小工具,切图工具   可以选择图片质量的清晰度,图片质量越图片越清晰,文件也越大。   使用须知:   1、本程序不支持50M/GIF/CMYK/位深度图片操作!   2、包含图片缩小图片转换(BMP、TIF转换为JPG),切图三功能。   3、缩小后的必须输入其中一个!   4、如果输入的都>=图片本身尺寸,则对图片进行缩小操作!   5、如果输入的小于图片实际的,输入的大于图片实际的,则对图片按输入的等比缩小!   6、如果输入的大于图片实际的,输入的小于图片实际的,则对图片按输入的等比缩小!   7、如果输入的两者都小于图片实际的,如果输入的/图片大于输入的/图片,则按照输入的等比缩小!反则按照输入的等比缩小!   8、切图时候请输入起始坐标(默认0,0)、结束坐标。 比如输入起始坐标是(100,50),结束坐标是(500,650),则软件从离图片左边100像素,离顶部50像素开始,切割到离图片左边500像素,离顶部650像素的400x600区域图,然后保存。   9、如果想给操作后的图片和源图片文件名不一样,请勾上"缩小或转换文件后加前缀名"后再操作,软件会自动为每一个新图片在文件名前加"_"符号区分。   使用方法:   1、下载ImageZoom.rar,解压缩得到ImageZoom.exe。   2、在电脑任意盘,比如F盘下建立个文件夹Test(Test任意取名)。   3、把ImageZoom.exe 和要缩小图片比如 桌面壁纸2000x1500.jpg 一同复制到Test文件夹里,可以多张图片。   4、运行ImageZoom.exe,输入500(缩小度500像素的图片),点'缩小图片';所有成功后,会在Test下有一个新的文件夹保存缩小后的图片

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧