struts2 或 spring mvc上传图片生成高清缩略图亲测可以用哦Word格式文档下载.docx
- 文档编号:18343952
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:7
- 大小:20.30KB
struts2 或 spring mvc上传图片生成高清缩略图亲测可以用哦Word格式文档下载.docx
《struts2 或 spring mvc上传图片生成高清缩略图亲测可以用哦Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《struts2 或 spring mvc上传图片生成高清缩略图亲测可以用哦Word格式文档下载.docx(7页珍藏版)》请在冰豆网上搜索。
uploadutil.uploadImage1(getUpload(),getUploadContentType(),getUploadFileName());
return"
success"
;
}publicFilegetUpload(){returnupload;
}publicvoidsetUpload(Fileupload){this.upload=upload;
}publicStringgetUploadFileName(){returnuploadFileName;
}publicvoidsetUploadFileName(StringuploadFileName){this.uploadFileName=uploadFileName;
}publicStringgetUploadContentType(){returnuploadContentType;
}publicvoidsetUploadContentType(StringuploadContentType){this.uploadContentType=uploadContentType;
}}/**
*
*上传图片 工具类
*大图片路径,生成小图片路径,
*大图片文件名,生成小图片文名,
*生成小图片宽度,生成小图片高度,
*是否等比缩放(默认为true))
*@authorAdministrator
*/UploadUtil
[java]viewplaincopypackagecom.lanyuan.upload;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.text.DateFormat;
importjava.text.SimpleDateFormat;
importjava.util.Date;
importjava.util.Random;
importorg.apache.struts2.ServletActionContext;
/****上传图片 工具类*大图片路径,生成小图片路径,*大图片文件名,生成小图片文名,*生成小图片宽度,生成小图片高度,*是否等比缩放(默认为true))**@authorAdministrator**/publicclassUploadUtil{privateStringimagePath="
/image/"
+newSimpleDateFormat("
yyyyMMddHH"
).format(newDate())+"
"
//配置图片路径privateStringimage_smallPath="
/image_small/"
//配置小图片路径/****@paramrequest/*@paramgetUpload路径*@paramgetUploadContentType文件类型*@paramgetUploadFileName原文件名*@return*@throwsIOException*/publicvoiduploadImage1(FilegetUpload,StringgetUploadContentType,StringgetUploadFileName)throwsIOException{StringgetImagePath=ServletActionContext.getServletContext().getRealPath(imagePath);
StringgetImage_smallPath=ServletActionContext.getServletContext().getRealPath(image_smallPath);
Fileimage=newFile(getImagePath);
if(!
image.exists()){image.mkdir();
}Fileimage_small=newFile(getImage_smallPath);
image_small.exists()){image_small.mkdir();
}//得到上传文件的后缀名StringuploadName=getUploadContentType;
System.out.println("
图片类型------------"
+uploadName);
StringlastuploadName=uploadName.substring(uploadName.indexOf("
/"
)+1,uploadName.length());
得到上传文件的后缀名------------"
+lastuploadName);
//得到文件的新名字StringfileNewName=generateFileName(getUploadFileName);
//得到文件的新名字------------"
+fileNewName);
FileOutputStreamfos=newFileOutputStream(getImagePath+"
+fileNewName);
FileInputStreamfis=newFileInputStream(getUpload);
byte[]buffer=newbyte[1024];
intlen=0;
while((len=fis.read(buffer))&
gt;
0){fos.write(buffer,0,len);
}DwindlePicmypic=newDwindlePic();
mypic.s_pic(getImagePath+"
getImage_smallPath+"
fileNewName,fileNewName,110,110,false);
//最后返回图片路径imagePath=imagePath+"
+fileNewName;
image_smallPath=image_smallPath+"
}/***传入原图名称,,获得一个以时间格式的新名称*@paramfileName 原图名称*@return*/privateStringgenerateFileName(StringfileName){DateFormatformat=newSimpleDateFormat("
yyyyMMddHHmmss"
);
StringformatDate=format.format(newDate());
intrandom=newRandom().nextInt(10000);
intposition=fileName.lastIndexOf("
."
Stringextension=fileName.substring(position);
returnformatDate+random+extension;
}publicStringgetImagepath(){returnimagePath;
}publicStringgetImageSmallpath(){returnimage_smallPath;
}}
大图片路径,生成小图片路径,大图片文件名,生成小图片文名,生成小图片宽度,生成小图片高度,是否等比缩放(默认为true))DwindlePic[java]viewplaincopypackagecom.lanyuan.upload;
importjava.io.*;
importcom.sun.image.codec.jpeg.*;
importjava.awt.image.*;
importjava.awt.*;
importjava.applet.*;
/***s_pic(大图片路径,生成小图片路径,大图片文件名,生成小图片文名,生成小图片宽度,生成小图片高度,是否等比缩放(默认为true))**@authorAdministrator**/publicclassDwindlePic{StringInputDir;
//输入图路径StringOutputDir;
//输出图路径StringInputFileName;
//输入图文件名StringOutputFileName;
//输出图文件名intOutputWidth=110;
//默认输出图片宽intOutputHeight=110;
//默认输出图片高intrate=0;
booleanproportion=true;
//是否等比缩放标记(默认为等比缩放)publicDwindlePic(){//初始化变量InputDir="
OutputDir="
InputFileName="
OutputFileName="
OutputWidth=110;
OutputHeight=110;
rate=0;
}publicbooleans_pic(){//BufferedImageimage;
//StringNewFileName;
//建立输出文件对象Filefile=newFile(OutputDir+OutputFileName);
FileOutputStreamtempout=null;
try{tempout=newFileOutputStream(file);
}catch(Exceptionex){System.out.println(ex.toString());
}Imageimg=null;
Toolkittk=Toolkit.getDefaultToolkit();
Appletapp=newApplet();
MediaTrackermt=newMediaTracker(app);
try{img=tk.getImage(InputDir+InputFileName);
mt.addImage(img,0);
mt.waitForID(0);
}catch(Exceptione){e.printStackTrace();
}if(img.getWidth(null)==-1){System.out.println("
can'
tread,retry!
+"
&
lt;
BR&
returnfalse;
}else{intnew_w;
intnew_h;
if(this.proportion==true){//判断是否是等比缩放.//为等比缩放计算输出的图片宽度及高度doublerate1=((double)img.getWidth(null))/(double)OutputWidth+0.1;
doublerate2=((double)img.getHeight(null))/(double)OutputHeight+0.1;
doublerate=rate1&
rate2?
rate1:
rate2;
new_w=(int)(((double)img.getWidth(null))/rate);
new_h=(int)(((double)img.getHeight(null))/rate);
}else{new_w=OutputWidth;
//输出的图片宽度new_h=OutputHeight;
//输出的图片高度}BufferedImagebuffImg=newBufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB);
Graphicsg=buffImg.createGraphics();
g.setColor(Color.white);
g.fillRect(0,0,new_w,new_h);
g.drawImage(img,0,0,new_w,new_h,null);
g.dispose();
JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(tempout);
try{encoder.encode(buffImg);
tempout.close();
}catch(IOExceptionex){System.out.println(ex.toString());
}}returntrue;
}publicbooleans_pic(StringInputDir,StringOutputDir,StringInputFileName,StringOutputFileName){//输入图路径this.InputDir=InputDir;
//输出图路径this.OutputDir=OutputDir;
//输入图文件名this.InputFileName=InputFileName;
//输出图文件名this.OutputFileName=OutputFileName;
returns_pic();
}/***s_pic(大图片路径,生成小图片路径,大图片文件名,生成小图片文名,生成小图片宽度,生成小图片高度,是否等比缩放(默认为true))*@paramInputDir*@paramOutputDir*@paramInputFileName*@paramOutputFileName*@paramwidth*@paramheight*@paramgp*@return*/publicbooleans_pic(StringInputDir,StringOutputDir,StringInputFileName,StringOutputFileName,intwidth,intheight,booleangp){//输入图路径this.InputDir=InputDir;
//设置图片长宽setW_H(width,height);
//是否是等比缩放标记this.proportion=gp;
}publicvoidsetInputDir(StringInputDir){this.InputDir=InputDir;
}publicvoidsetOutputDir(StringOutputDir){this.OutputDir=OutputDir;
}publicvoidsetInputFileName(StringInputFileName){this.InputFileName=InputFileName;
}publicvoidsetOutputFileName(StringOutputFileName){this.OutputFileName=OutputFileName;
}publicvoidsetOutputWidth(intOutputWidth){this.OutputWidth=OutputWidth;
}publicvoidsetOutputHeight(intOutputHeight){this.OutputHeight=OutputHeight;
}publicvoidsetW_H(intwidth,intheight){this.OutputWidth=width;
this.OutputHeight=height;
看看效果吧!
第二种,清晰度还可以接受[java]viewplaincopypackagecom.xiyuan.upload;
importjava.awt.image.BufferedImage;
importjavax.imageio.ImageIO;
/****上传图片 工具类大图片路径,生成小图片路径,大图片文件名,生成小图片文名,生成小图片宽度,生成小图片高度,是否等比缩放(默认为true))**@authorAdministrator**/publicclassUploadUtil{privateStringimagePath="
/imageFile/"
+newSimpleDateFormat("
).format(newDate())+"
//配置图片路径/****@paramgetUpload*路径*@paramgetUploadContentType*文件类型*@paramgetUploadFileName*原文件名*@return*@throwsIOException*/publicvoiduploadImage1(FilegetUpload,StringgetUploadContentType,StringgetUploadFileName)throwsIOException{StringgetImagePath=ServletActionContext.getServletContext().getRealPath(imagePath);
+uploadName);
StringlastuploadName=uploadName.substring(uploadName.indexOf("
+lastuploadName);
//FileOutputStreamfos=newFileOutputStream(getImagePath+"
+//fileNewName);
////FileInputStreamfis=newFileInputStream(getUpload);
//byte[]buffer=newbyte[1024];
//intlen=0;
//while((len=fis.read(buffer))&
0){//fos.write(buffer,0,len);
//}//最后返回图片路径imagePath=imagePath+"
+fileNewName;
回图片路径"
+getUpload);
//最后返回图片路径"
+imagePath);
BufferedImagesrcBufferImage=ImageIO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- struts2 spring mvc上传图片生成高清缩略图亲测可以用哦 mvc 上传 图片 生成 缩略图 可以
链接地址:https://www.bdocx.com/doc/18343952.html