一个简单的struts实现文件上传示例
2008-01-13 14:49
1016 查看
upload.jsp
<%@ page language="java" pageEncoding="GB18030"%> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%> <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <html> <head> <title>JSP for UploadForm form</title> </head> <body> <html:form action="/upload" enctype="multipart/form-data"> file : <html:file property="file"/><html:errors property="file"/><br/> <html:submit value="上传"/> </html:form> <hr> <logic:present name="fileName"> <html:link href="<%=basePath+"myupload/"+request.getAttribute("fileName") %>" target="_blank" useLocalEncoding="gb2312"> <bean:write name="fileName"/> </html:link> <bean:write name="size"/> </logic:present> </body> </html>
struts-config.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"> <struts-config> <form-beans > <form-bean name="uploadForm" type="com.huqianhao.struts.form.UploadForm" /> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings > <action attribute="uploadForm" input="/upload.jsp" name="uploadForm" path="/upload" scope="request" type="com.huqianhao.struts.action.UploadAction"> <forward name="upload" path="/upload.jsp" /> </action> </action-mappings> <message-resources parameter="com.huqianhao.struts.ApplicationResources" /> </struts-config>
UploadAction.java
/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package com.huqianhao.struts.action; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.upload.FormFile; import com.huqianhao.struts.form.UploadForm; /** * MyEclipse Struts Creation date: 01-12-2008 * * XDoclet definition: * * @struts.action path="/upload" name="uploadForm" input="/upload.jsp" * scope="request" validate="true" */ public class UploadAction extends Action { /* * Generated Methods */ /** * Method execute * * @param mapping * @param form * @param request * @param response * @return ActionForward */ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { UploadForm uploadForm = (UploadForm) form; FormFile file = uploadForm.getFile(); String fileName = file.getFileName(); String contentType = file.getContentType(); String size = (file.getFileSize() + " bytes"); try { InputStream stream = file.getInputStream(); // 把内容写到指定的文件中 OutputStream bos = new FileOutputStream(request.getRealPath("") + "/myupload/" + fileName); int bytesRead = 0; byte[] buffer = new byte[8192]; while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) { bos.write(buffer, 0, bytesRead); } bos.close(); stream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } request.setAttribute("fileName", fileName); request.setAttribute("size", size); request.setAttribute("contentType", contentType); return mapping.findForward("upload"); } }
UploadForm.java
/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package com.huqianhao.struts.form; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import org.apache.struts.upload.FormFile; /** * MyEclipse Struts * Creation date: 01-12-2008 * * XDoclet definition: * @struts.form name="uploadForm" */ public class UploadForm extends ActionForm { /* * Generated fields */ /** file property */ private FormFile file; /* * Generated Methods */ /** * Method validate * @param mapping * @param request * @return ActionErrors */ public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { // TODO Auto-generated method stub return null; } /** * Method reset * @param mapping * @param request */ public void reset(ActionMapping mapping, HttpServletRequest request) { // TODO Auto-generated method stub } public FormFile getFile() { return file; } public void setFile(FormFile file) { this.file = file; } }
相关文章推荐
- 一个简单的QQ隐藏图生成算法 通过jQuery和C#分别实现对.NET Core Web Api的访问以及文件上传
- 实现一个简单的文件上传进度条
- 用struts2 完成一个简单的通讯录,实现增删改查,分页,文件上传(头像),表单验证(两种方法)
- 一个关于用Struts实现文件上传异常的解决
- 一个简单的jQuery插件ajaxfileupload实现ajax上传文件例子
- 一个关于用Struts实现文件上传异常的解决
- Spring+Struts+Hibernate(一个实现用户注册的简单示例)
- Android 实现一个简单的文件上传工具
- Vue封装一个简单轻量的上传文件组件的示例
- java 文件上传 与 把文件解析成一个字节数组简单的后台示例
- 实现一个简单的文件上传进度条
- struts实现简单的文件上传与下载
- 一个简单的jQuery插件ajaxfileupload实现ajax上传文件例子
- 转:一个简单的jQuery插件ajaxfileupload实现ajax上传文件例子
- 一个简单的jQuery插件ajaxfileupload实现ajax上传文件例子
- 一个简单的jQuery插件ajaxfileupload实现ajax上传文件例子
- 一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
- Struts实现简单的文件下载(继上一篇文件上传)
- 一个简单的jQuery插件ajaxfileuplo 4000 ad实现ajax上传文件例子
- 一个简单的PHP文件上传示例程序