欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JSP上传图片并自动生成缩略图

程序员文章站 2022-03-31 09:29:45
jsp(SUN企业级应用的首选)上传图片并生成缩略图本例子使用了jsp(SUN企业级应用的首选)smart组件进行上传,这里可以免费下载该组件www.jsp(SUN企业级应用的首选...

jsp(SUN企业级应用的首选)上传图片并生成缩略图

本例子使用了jsp(SUN企业级应用的首选)smart组件进行上传,这里可以免费下载该组件www.jsp(SUN企业级应用的首选)smart.com
下载解压后,将jar包复制到 WEB-INFlib 目录后重启服务器,jsp(SUN企业级应用的首选)smart即可正常使用了

1、uploadimage.jsp(SUN企业级应用的首选)

<%@ page contentType="text/html;charset=gb2312" language="java" import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,java.sql.*,com.jsp(SUN企业级应用的首选)smart.upload.*,java.util.*,cn.oof.database.*,cn.oof.house.*"%>
<%
SmartUpload mySmartUpload =new SmartUpload();
long file_size_max=4000000;
String fileName2="",ext="",testvar="";
String url="PreviousFile/images/";      //应保证在根目录中有此目录的存在
//初始化
mySmartUpload.initialize(pageContext);
//只允许上载此类文件
try {
 mySmartUpload.setAllowedFilesList("jpg,gif");
//上载文件
 mySmartUpload.upload();
} catch (Exception e){
%>
  <SCRIPT language=javascript>
  alert("只允许上传.jpg和.gif类型图片文件");
  window.location=upfile.jsp(SUN企业级应用的首选);
  </script>
<%
}
try{

    com.jsp(SUN企业级应用的首选)smart.upload.File myFile = mySmartUpload.getFiles().getFile(0);
    if (myFile.isMissing()){%>
   <SCRIPT language=javascript>
   alert("请先选择要上传的文件");
   window.location=upfile.jsp(SUN企业级应用的首选);
   </script>
    <%}
    else{
      //String myFileName=myFile.getFileName(); //取得上载的文件的文件名
   ext= myFile.getFileExt();      //取得后缀名
   int file_size=myFile.getSize();     //取得文件的大小 
   String saveurl="";
   if(file_size<file_size_max){
    //更改文件名,取得当前上传时间的毫秒数值
    Calendar calendar = Calendar.getInstance();
    String filename = String.valueOf(calendar.getTimeInMillis());
    saveurl=request.getRealPath("/")+url;
    saveurl+=filename+"."+ext;          //保存路径
    myFile.saveAs(saveurl,mySmartUpload.SAVE_PHYSICAL);
    //out.print(filename);
//-----------------------上传完成,开始生成缩略图-------------------------   
    java.io.File file = new java.io.File(saveurl);        //读入刚才上传的文件
    String newurl=request.getRealPath("/")+url+filename+"_min."+ext;  //新的缩略图保存地址
    Image src = javax.imageio.ImageIO.read(file);                     //构造Image对象
    float tagsize=200;
    int old_w=src.getWidth(null);                                     //得到源图宽