001: /*
002: * This program is free software; you can redistribute it and/or modify
003: * it under the terms of the GNU General Public License as published by
004: * the Free Software Foundation; either version 2 of the License, or
005: * (at your option) any later version.
006: *
007: * This program is distributed in the hope that it will be useful,
008: * but WITHOUT ANY WARRANTY; without even the implied warranty of
009: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
010: * GNU Library General Public License for more details.
011: *
012: * You should have received a copy of the GNU General Public License
013: * along with this program; if not, write to the Free Software
014: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
015: */
016: package dlog4j.formbean;
017:
018: import java.util.Arrays;
019: import java.util.List;
020:
021: import javax.servlet.http.HttpServletRequest;
022:
023: import org.apache.commons.lang.StringUtils;
024: import org.apache.struts.action.ActionError;
025: import org.apache.struts.action.ActionErrors;
026: import org.apache.struts.action.ActionMapping;
027: import org.apache.struts.upload.FormFile;
028:
029: /**
030: * 用于上传图片的表单类
031: * @author Liudong
032: */
033: public class UploadImageForm extends DlogActionForm {
034:
035: FormFile uploadFile = null;
036: String imageUrl = null;
037: String displayText = null;
038: String txtWidth = null;
039: String txtHeight = null;
040: String txtBorder = null;
041: String txtAlign = "left";
042:
043: /**
044: * 验证输入的有效性
045: */
046: public ActionErrors validate(ActionMapping mapping,
047: HttpServletRequest req) {
048: ActionErrors aes = new ActionErrors();
049: try {
050: if (!StringUtils.isEmpty(txtWidth))
051: Integer.parseInt(txtWidth);
052: } catch (Exception e) {
053: aes.add("txtWidth", new ActionError("illegal_input_value"));
054: }
055: try {
056: if (!StringUtils.isEmpty(txtHeight))
057: Integer.parseInt(txtHeight);
058: } catch (Exception e) {
059: aes
060: .add("txtHeight", new ActionError(
061: "illegal_input_value"));
062: }
063: try {
064: if (!StringUtils.isEmpty(txtBorder))
065: Integer.parseInt(txtBorder);
066: } catch (Exception e) {
067: aes
068: .add("txtBorder", new ActionError(
069: "illegal_input_value"));
070: }
071: if (uploadFile != null) {
072: if (uploadFile.getFileSize() > 1000000)
073: aes.add("uploadFile", new ActionError(
074: "upload_file_size_exceed"));
075: String fn = uploadFile.getFileName().toLowerCase();
076: int i = 0;
077: for (; i < types.size(); i++) {
078: if (fn.endsWith((String) types.get(i)))
079: break;
080: }
081: if (i == types.size())
082: aes.add("uploadFile", new ActionError(
083: "upload_file_extend_noallow"));
084: if (uploadFile.getFileSize() <= 0)
085: aes.add("uploadFile", new ActionError(
086: "upload_file_illegal"));
087: }
088: return aes;
089: }
090:
091: public final static List types = Arrays.asList(new String[] {
092: "gif", "jpg", "bmp", "png" });
093:
094: public static List getTypes() {
095: return types;
096: }
097:
098: public String getDisplayText() {
099: return displayText;
100: }
101:
102: public void setDisplayText(String displayText) {
103: this .displayText = displayText;
104: }
105:
106: public String getImageUrl() {
107: return imageUrl;
108: }
109:
110: public void setImageUrl(String imageUrl) {
111: this .imageUrl = imageUrl;
112: }
113:
114: public String getTxtAlign() {
115: return txtAlign;
116: }
117:
118: public void setTxtAlign(String txtAlign) {
119: this .txtAlign = txtAlign;
120: }
121:
122: public String getTxtBorder() {
123: return txtBorder;
124: }
125:
126: public void setTxtBorder(String txtBorder) {
127: this .txtBorder = txtBorder;
128: }
129:
130: public String getTxtHeight() {
131: return txtHeight;
132: }
133:
134: public void setTxtHeight(String txtHeight) {
135: this .txtHeight = txtHeight;
136: }
137:
138: public String getTxtWidth() {
139: return txtWidth;
140: }
141:
142: public void setTxtWidth(String txtWidth) {
143: this .txtWidth = txtWidth;
144: }
145:
146: public FormFile getUploadFile() {
147: return uploadFile;
148: }
149:
150: public void setUploadFile(FormFile uploadFile) {
151: this.uploadFile = uploadFile;
152: }
153: }
|