上传图片 webwork

    技术2022-05-11  95

    1.jsp<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>File Upload</title><Script language="javascript">function jiancha(){str= form.files.value;strs=str.toLowerCase();lens=strs.length;extname=strs.substring(lens-4,lens);if(extname!=".jpg" && extname!=".gif"&& extname!=".bmp"){alert("请选择jpg或gif或bmp文件!");return (false);}return (true);}</script></head><body><form name="form"action="upload.action" enctype="multipart/form-data" method="POST"><p><input type="hidden" name="fileFileName"/><input type="file" name="files"onChange="jiancha()"><br><input type="hidden" name="path" value="E:/resin-3.0/webapps/ebusiness/uploadtmp/"><p><input type="submit" name="上载" value="上载"/></form></body></html>success.jsp<%@ page contentType="text/html;charset=gb2312"%><%@ taglib prefix="ww" uri="webwork" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>File Upload</title><script>function view(){t.innerHTML="<img src='"+myform.T1.value+"'>"}</script></head><body onLoad="view()"><a href=" /ebusiness/uploadtmp/<ww:property value="srcName"/>"target="_blank">查看图片</a><a href=" /ebusiness/uploadtmp/min<ww:property value="srcName"/>"target="_blank">查看小图片</a><form method="POST" name=myform><input type="hidden" name="T1"value="/ebusiness/uploadtmp/min<ww:property value="srcName"/>" ></form><div id="t"></div></body></html>

     

    UploadAction .java

    package com.examples;

    import com.opensymphony.xwork.Action;import com.opensymphony.xwork.ActionContext;

    import com.sun.image.codec.jpeg.*;

    import java.awt.Image;import java.awt.image.BufferedImage;import java.io.*;import java.util.*;

    public class UploadAction implements Action {File file;String fileContentType;String fileFileName;File[] files;String[] filesContentType;String[] filesFileName;private boolean debug=true;String srcName ;//文件名String path ; //存储文件路径String url;

    public String execute() throws Exception {ActionContext context=ActionContext.getContext();Map map=context.getParameters();context.getValueStack();System.out.println("filesFileName="+filesFileName);

    if(filesFileName!=null){for (int i = 0; i < filesFileName.length; i++) {srcName = filesFileName[i];System.out.println("srcName="+srcName);url = path + srcName;System.out.println("url="+url);File target = new File(url);if (target.exists()) {target.delete();}files[i].renameTo(target);}}

    java.io.File file1 = new java.io.File(url); //读入刚才上传的文件String newurl= path + "min"+srcName; //新的缩略图保存地址Image src = javax.imageio.ImageIO.read(file1);//构造Image对象float tagsize=200;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 = newBufferedImage(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();

    return SUCCESS;}

    public String doDefault() throws Exception {return INPUT;}

    public void setFile(File file) {this.file = file;}

    public void setFileContentType(String fileContentType) {this.fileContentType = fileContentType;}

    public void setFiles(File[] files) {this.files = files;if(files==null){return ;}if(debug){for (int i = 0; i < files.length; i++) {System.out.println(files[i].getName()) ;}}}

    public void setFilesContentType(String[] filesContentType) {this.filesContentType = filesContentType;}

    public void setFilesFileName(String[] filesFileName) {this.filesFileName = filesFileName;}

    public void setFileFileName(String fileFileName) {this.fileFileName = fileFileName;}

    public void setDebug(boolean debug) {this.debug = debug;}public String getPath() {return path;}

    public void setPath(String path) {this.path = path;}

    public String getUrl() {return url;}

    public void setUrl(String url) {this.url = url;}public String getSrcName() {return srcName;}

    public void setSrcName(String srcName) {this.srcName = srcName;}public File getFile() {return file;}

    public String getFileContentType() {return fileContentType;}

    public String getFileFileName() {return fileFileName;}

    public File[] getFiles() {return files;}

    public String[] getFilesContentType() {return filesContentType;}

    public String[] getFilesFileName() {return filesFileName;}}

    upload.xml

    <?xml version="1.0" encoding="GB2312"?><!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN""http://www.opensymphony.com/xwork/xwork-1.0.dtd"><xwork><package name="upload" extends="webwork-default" namespace="/examples"><interceptors><interceptor name="upload"class="com.opensymphony.webwork.interceptor.FileUploadInterceptor"><param name="allowedTypes">image/jpeg/jpg/bmp/txt</param><param name="maximumSize">10000000</param></interceptor><interceptor-stack name="fileUploadStack"><interceptor-ref name="upload"/><interceptor-ref name="defaultStack"/></interceptor-stack></interceptors><default-interceptor-ref name="fileUploadStack"/><action name="upload" class="com.examples.UploadAction"><result name="success">success.jsp</result><result name="input">input.jsp</result></action></package>

    </xwork>


    最新回复(0)