Struts上传文件fileupload
来源:互联网 发布:windows phone符号输入 编辑:程序博客网 时间:2024/05/22 16:43
fileUp.jsp上传文件的jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><%@taglib prefix="s" uri="/struts-tags" %><html> <head> </head> <body> 文件上传 <hr> <s:form action="upload1" enctype="multipart/form-data"> <s:textfield name="title" label="文件标题"/><br> <s:file name="upload" label="选择文件"/><br> <s:submit value="上传"/> </s:form> </body></html>
fileupsuccess.jsp上传成功跳转的jsp文件
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><%@taglib prefix="s" uri="/struts-tags" %><html> <head> </head> <body> <h2>文件上传成功!</h2> <hr> 文件标题:<s:property value="title"/><br> <s:property value="uploadFileName"/><br> <img src="<s:property value="'save/'+uploadFileName"/>"/> <br> </body></html>
UploadAction.action文件
package login;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class UploadAction extends ActionSupport{private String title;//标题private File upload;//文件对象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 getUploadFileName() {return uploadFileName;}public void setUploadFileName(String uploadFileName) {this.uploadFileName = uploadFileName;}public String getSavePath() {return ServletActionContext.getServletContext().getRealPath(savePath);//获取绝对路径并修改路径为自定义路径}public void setSavePath(String savePath) {this.savePath = savePath;}public String execute() throws Exception{FileOutputStream fos = new FileOutputStream(getSavePath()+"\\"+getUploadFileName());FileInputStream fis = new FileInputStream(getUpload());byte[] buffer = new byte[1024];int len = 0;while((len = fis.read(buffer))>0){fos.write(buffer);}fis.close();fos.close();return SUCCESS;}}
很重要的struts.xml文件
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"><struts><constant name="struts.custom.i18n.resources" value="messages" /><span style="font-size:24px;">//</span>value是国际化资源配置文件的文件名<constant name="struts.i18n.encoding" value="utf-8" /><package name="I18N" extends="struts-default"> <action name="upload1" class="login.UploadAction"> <interceptor-ref name="fileUpload"><param name="maximumSize">10000000</param><param name="allowedTypes">image/gif,image/png,image/jpeg,image/jpg,image/pjpeg</param></interceptor-ref><interceptor-ref name="defaultStack"/><param name="savePath">./save</param><span style="color:#FF6666;">//这个是项目WebRoot目录下新建的文件夹save</span> <result name="input">/fileUp.jsp</result><result name="success">/fileupsuccess.jsp</result></action></package></struts>总结:国际化配置资源文件名格式 文件名_语言种类_语言编码.properties
例如 messages_zh_CN.properties 表示中文配置文件 messages_en_US.properties 英文配置文件
最重要的关系资源配置文件有效与否的是资源文件的路径问题 我今天调试了一下午查了各种资料都没有找出问题
刚刚将资源文件放在项目目录的src包下面就可以起作用了,切记,这是给我印象最深的一个了
我今天还遇到的一个问题就是<img src="<s:property value="'save/'+uploadFileName"/>"/>
value的值就是加载项目目录中保存图片的文件夹+文件名 save的路径一定要写对,否则即使上传成功也不能显示图片
0 0
- Struts上传文件fileupload
- Struts 2通过Commons FileUpload文件上传
- struts 2 Commons FileUpload文件上传
- struts 2 Commons FileUpload文件上传
- Struts实现文件上传(commons-fileupload.jar)
- 关键字: struts、formfile、commons-fileupload、java文件上传
- BL_15 在线文件上传和下载 Struts 2.X + FileUpload
- 文件上传控件(FileUpload)
- 使用FileUpload上传文件
- common-fileupload上传文件
- java fileupload上传文件
- FileUpload的文件上传
- 文件上传 FileUpload
- FileUpload上传读取文件
- FileUpload(文件上传)
- 文件上传 commons-FileUpload
- extjs 上传文件 fileUpload
- common-fileupload上传文件
- 基于libpcap的嵌入式linux 抓包工具,运用telnet 解决嵌入式设备抓包实时显示问题方便测试
- 浅谈健商
- (4)了解C++默默编写并调用了哪些函数
- android res目录资源文件适配
- 第一个游戏动作开发日志——敌人初步AI设定
- Struts上传文件fileupload
- launching not activity
- NanoPi M2编译Debian步骤详解
- Android 实现ListView的展开式动画ExpandAnimation
- Handler源码分析
- Linux开启ssh服务
- (一)stl源码剖析学习,遗留问题在3.7
- 二维数组及冒泡排序
- (5)若不想使用编译器自动生成的函数,就该明确拒绝