关于Struts2上传问题代码实现
2017-08-09 10:28
411 查看
Action
相关的getset方法省略
//表单上提供的文件名和文件资源
private String filename;
private File file; //上传文件
private String fileFileName;//上传文件名, 上传字段名称+FileName 大小写区别 自动赋值
private String fileContentType;//上传类型
上传字段名称+ContentType 自动赋值
public String upload() throws IOException{
System.out.println(file);
if(file==null){
throw new FileNotFoundException("请添加上传文件");
}
//拿到ServletContext对象 getRealPath
ServletContext s = ServletActionContext.getServletContext();
//通过getRealPath方法,获取根据一个虚拟目录的到的真实目录
String path = s.getRealPath("/WEB-INF/UploadFile");
//path应该为想存入路径
System.out.println("真实目录 : " + path);
//如果不存在需要创建
File ToFile = new File(path);
System.out.println(ToFile);
if(!ToFile.exists()){
ToFile.mkdirs();
}
//把资源存进去
//剪切,把临时文件剪切指定位置并且重命名,不存在临时文件
boolean renameTo = file.renameTo(new File(ToFile,fileFileName));//把文件重命名到一个新的文件file,名字叫file.getname
// FileUtils.moveToDirectory(file, ToFile, true); //临时文件不可取
System.out.println(">>>>>>>>>>>>>>>> "+" 文件类型 " + fileContentType+" 文件名" +fileFileName );
return SUCCESS;
}
jsp部分
<body>
<!-- 文件上传的必要条件
请求方式必须是post
enctype 属性的前提必须是multipart/form-data
提供一个文件选择域
-->
<s:form action="upload" method="post" namespace="/" enctype="multipart/form-
88e8
data">
<s:textfield name="filename" label="FileName"></s:textfield>
<s:file name="file" label="please choose a File"></s:file>
<s:submit></s:submit>
</s:form>
</body>
Struts2配置
<constant name="struts.devMode" value="true"/>
<package name="default" namespace="/" extends="struts-default">
<action name="upload" class="com.UploadAction" method="upload">
<result>/index.jsp</result>
</action>
</package>
这些代码没有实现文件的类别和大小的限制,本人小菜鸟刚起飞,在这总结一下,
在写action的时候一定分清真实目录,希望总结的过程也能帮上一点别人是最好的
相关的getset方法省略
//表单上提供的文件名和文件资源
private String filename;
private File file; //上传文件
private String fileFileName;//上传文件名, 上传字段名称+FileName 大小写区别 自动赋值
private String fileContentType;//上传类型
上传字段名称+ContentType 自动赋值
public String upload() throws IOException{
System.out.println(file);
if(file==null){
throw new FileNotFoundException("请添加上传文件");
}
//拿到ServletContext对象 getRealPath
ServletContext s = ServletActionContext.getServletContext();
//通过getRealPath方法,获取根据一个虚拟目录的到的真实目录
String path = s.getRealPath("/WEB-INF/UploadFile");
//path应该为想存入路径
System.out.println("真实目录 : " + path);
//如果不存在需要创建
File ToFile = new File(path);
System.out.println(ToFile);
if(!ToFile.exists()){
ToFile.mkdirs();
}
//把资源存进去
//剪切,把临时文件剪切指定位置并且重命名,不存在临时文件
boolean renameTo = file.renameTo(new File(ToFile,fileFileName));//把文件重命名到一个新的文件file,名字叫file.getname
// FileUtils.moveToDirectory(file, ToFile, true); //临时文件不可取
System.out.println(">>>>>>>>>>>>>>>> "+" 文件类型 " + fileContentType+" 文件名" +fileFileName );
return SUCCESS;
}
jsp部分
<body>
<!-- 文件上传的必要条件
请求方式必须是post
enctype 属性的前提必须是multipart/form-data
提供一个文件选择域
-->
<s:form action="upload" method="post" namespace="/" enctype="multipart/form-
88e8
data">
<s:textfield name="filename" label="FileName"></s:textfield>
<s:file name="file" label="please choose a File"></s:file>
<s:submit></s:submit>
</s:form>
</body>
Struts2配置
<constant name="struts.devMode" value="true"/>
<package name="default" namespace="/" extends="struts-default">
<action name="upload" class="com.UploadAction" method="upload">
<result>/index.jsp</result>
</action>
</package>
这些代码没有实现文件的类别和大小的限制,本人小菜鸟刚起飞,在这总结一下,
在写action的时候一定分清真实目录,希望总结的过程也能帮上一点别人是最好的
相关文章推荐
- 关于Struts2中文件上传代码ServletActionContext.getServletContext()编译报错的问题,
- asp.net实现ftp上传代码(解决大文件上传问题)
- asp.net实现ftp上传代码(解决大文件上传问题)
- 公告:关于我上传资源“Google Android开发入门与实战代码.rar”的压缩码问题
- Struts2 关于i18n国际化的问题,可点击链接实现中英文切换
- asp.net web实现ftp上传代码 (解决大文件上传问题)
- 关于在用struts2上传文件之后,会产生临时文件的问题
- struts2实现文件上传 代码
- 关于c#连接ftp进行上传下载实现原理及代码
- struts2关于文件上传限制文件上传大小问题
- java代码实现文件上传到linux服务器及问题汇总及解决(亲测可行)
- 关于UEditor在struts2下图片上传问题
- 关于struts2上传时报临时文件找不到的问题
- Struts2 关于i18n国际化的问题,可点击链接实现中英文切换
- 用Struts2更好的实现文件的上传、下载功能以及解决中文名称问题
- 关于UEditor在struts2下图片上传问题
- 关于代码实现 AnimationDrawable 的问题
- 关于struts2附件上传的问题。
- 关于struts2 上传出错的问题