struts2上传图片

来源:互联网 发布:网络侦探龙帝 编辑:程序博客网 时间:2024/06/12 18:54

上传界面:

upload.jsp

<%@ page language="java" contentType="text/html; charset=GB18030"    pageEncoding="GB18030"%><%@taglib prefix="s" uri="/struts-tags" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><title>上传文件</title><s:head/></head><body><s:form action="upload.action" method="post" enctype="multipart/form-data"><s:textfield label="文件标题" name="title"></s:textfield><s:file label="选择文件" name="upload"></s:file><s:submit value="上传"></s:submit></s:form></body></html>
UploadAction.java

import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.UUID;import javax.servlet.http.HttpServletRequest;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class UploadAction extends ActionSupport {//上传文件的类型private static final String mimes = "image/jpeg,image/gif,image/bmp,image/jpg,image/png";//文件标题private String title;//上传文件private File upload;//上传文件类型private String uploadContentType;//上传文件名private String uploadFileName;//上传文件保存路径private String savePath;public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public File getUpload() {return upload;}public void setUpload(File upload) {this.upload = upload;}public String getUploadContentType() {return uploadContentType;}public void setUploadContentType(String uploadContentType) {this.uploadContentType = uploadContentType;}public String getSavePath() {HttpServletRequest request=ServletActionContext.getRequest();String path=request.getSession().getServletContext().getRealPath(savePath);return path;}public void setSavePath(String savePath) {this.savePath = savePath;}public String getUploadFileName() {return uploadFileName;}public void setUploadFileName(String uploadFileName) {this.uploadFileName = uploadFileName;}@Overridepublic String execute() throws Exception {//判断是不是图片if(-1==mimes.indexOf(getUploadContentType())){this.addFieldError("upload","不是图片");return INPUT;}//判断图片大小(大小不能超过2M)if(upload.length()>1024*1024*2){this.addFieldError("upload","图片大小不能超过2M");return INPUT;}//开始上传..使用UUID重新命名上传的文件名String newFileName = UUID.randomUUID().toString() +getUploadFileName();//写入到磁盘FileOutputStream fos=new FileOutputStream(getSavePath()+"\\"+newFileName);FileInputStream fis=new FileInputStream(getUpload());byte[] buffer=new byte[1024];int len=0;while((len=fis.read(buffer))>0){fos.write(buffer, 0, len);}return SUCCESS;}}

struts.xml文件

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"><struts>    <constant name="struts.i18n.encoding" value="GBK"></constant><package name="upload" extends="struts-default"><action name="upload" class="com.ccit.UploadAction"><param name="savePath">/upload</param><result>/succ.jsp</result><result name="input">/upload.jsp</result></action></package></struts>

上传成功(succ.jsp):

<body bgcolor="#FFFCCC">上传成功<br/></body>




0 1
原创粉丝点击