您的位置:首页 > Web前端 > JavaScript

【转】jsp批量上传图片,以及分别命名,生成图片一缩略图

2010-07-03 10:49 453 查看
<%@ page contentType="text/html; charset=gb2312" language="java"

import="java.util.*,com.jspsmart.upload.*,java.sql.*,java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*"

errorPage=""%>

<%!

String str_name,str_ext_0,str_ext_1,str_ext_2;

String image1=null, image2=null, image3=null, myFileName,small_Name=null;

%>

<%

SmartUpload su = new SmartUpload();

su.initialize(pageContext);

su.upload();

str_ext_0=su.getFiles().getFile(0).getFileExt();

str_ext_1=su.getFiles().getFile(1).getFileExt();

str_ext_2=su.getFiles().getFile(2).getFileExt();

if(su.getFiles().getFile(0).getSize()==0)

;

else{

su.getFiles().getFile(0).saveAs("地址/image/"+str_name+"_1."+str_ext_0);

image1=str_name+"_1."+str_ext_0;

}

if(su.getFiles().getFile(1).getSize()==0)

;

else{

su.getFiles().getFile(1).saveAs("地址/image/"+str_name+"_2."+str_ext_1);

image2=str_name+"_2."+str_ext_1;

}

if(su.getFiles().getFile(2).getSize()==0)

;

else{

su.getFiles().getFile(2).saveAs("地址/image/"+str_name+"_3."+str_ext_2);

image3=str_name+"_3."+str_ext_2;

}

String title=su.getRequest().getParameter("title");

String content = su.getRequest().getParameter("context_fengcai");

content=content.replaceAll("\n","<br>");

content=content.replaceAll(" "," ");

int flag = Integer.parseInt(su.getRequest().getParameter("fengcai_news"));

String date=su.getRequest().getParameter("fengcai_data");

com.jspsmart.upload.File myFile1 = su.getFiles().getFile(0);

long file_size_max = 4000000;

String ext = "";

String url = "地址/image/";

try {

if (true) {

response.setContentType("text/html;charset=gb2312");

request.setCharacterEncoding("gb2312");

//-----------------------上传完成,开始生成缩略图-------------------------

small_Name= str_name+"_1small."+str_ext_0;

java.io.File file = new java.io.File("地址/image/"+str_name+"_1."+str_ext_0);//saveurl); //读入刚才上传的文件

String newurl="地址/image/"+small_Name;//request.getRealPath("/")+url+filename+"_min."+ext; //新的缩略图保存地址

Image src = javax.imageio.ImageIO.read(file); //构造Image对象

float tagsize=287;

int old_w=src.getWidth(null); //得到源图宽

int old_h=src.getHeight(null);

int new_w=0;

int new_h=0; //得到源图长

int tempsize;

float tempdouble;

if(old_w>old_h){

tempdouble=old_w/tagsize;

}else{

tempdouble=old_h/tagsize;

}

new_w=Math.round(old_w/tempdouble);

new_h=Math.round(old_h/tempdouble);//计算新图长宽

BufferedImage tag = new BufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB);

tag.getGraphics().drawImage(src,0,0,new_w,new_h,null); //绘制缩小后的图

FileOutputStream newimage=new FileOutputStream(newurl); //输出到文件流

JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(newimage);

encoder.encode(tag); //近JPEG编码

newimage.close();

} else {

}

插入数据,以及关闭connection statement result

} catch (Exception e) {

}

%>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: