Java Struts图片上传至指定文件夹并显示图片功能
2017-08-10 10:32
761 查看
继上一次利用Servlet实现图片上传,这次利用基于MVC的Struts框架,封装了Servlet并简化了JSP页面跳转。
JSP上传页面
上传一定要为form加上
enctype="multipart/form-data",表示提交的数据时二进制的
并且必须是
method="post"
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@taglib prefix="s" uri="/struts-tags"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <s:form action="login" method="post" enctype="multipart/form-data"> <s:file name="img" label="头像" /> <s:submit value="上传" /> </s:form> <!-- <form action="login" method="post" enctype="multipart/form-data"> 头像:<input type="file" name="img"></input> <input type="submit" values="上传"></input> </form> --> </body> </html>
struts.xml配置(maven项目放在resources)
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.multipart.maxSize" value="20480000"/> 设置文件上传最大值 <package name="struts2" extends="struts-default"> <action name="login" class="com.controller.TestStruts" method="logintest"> <result name="fail">/fail.jsp</result> <result name="success">/success.jsp</result> </action> </package> </struts>
TestStruts.java控制类
一定要提供三个属性
File img; String imgFileName; String imgContentType;
然后为这3个属性提供getter setter方法
package com.controller; import java.io.File; import java.io.IOException; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.io.FileUtils; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class TestStruts extends ActionSupport{ private File img; private String imgFileName; private String imgContentType; public File getImg(){ return img; } public String getimgFileName(){ return imgFileName; } public String getImgContentType(){ return imgContentType; } public void setImg(File img){ this.img = img; } public void setImgFileName(String imgFileName){ this.imgFileName = imgFileName; } public void setImgFileContentType(String imgContentType){ this.imgContentType = imgContentType; } @SuppressWarnings("unchecked") public String logintest() throws IOException{ Map p = ActionContext.getContext().getSession(); p.put("imgFileName", imgFileName); File f = new File("D://imagebystruts"); if (!f.exists()) { f.mkdir(); } FileUtils.copyFile(img, new File(f, imgFileName)); return "success"; } }
Tomcat中server.xml文件配置虚拟路径
<Context docBase="D:/imagebystruts" path="/imagebystruts" reloadable="true"/> <Context docBase="SSHTest" path="/SSHTest" reloadable="true" source="org.eclipse.jst.j2ee.server:SSHTest"/></Host>
success.jsp显示图片
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>success</title> </head> <body> <h1>成功</h1> <body> <img src="/imagebystruts/${imgFileName}"> </body> </body> </html>
总结
以上所述是小编给大家介绍的Java Struts图片上传至指定文件夹并显示图片功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:
相关文章推荐
- Java Struts图片上传至指定文件夹并显示图片
- Java Servlet图片上传至指定文件夹并显示图片
- Java Servlet上传图片到指定文件夹并显示图片
- summernote图片上传功能保存到服务器指定文件夹+php代码+java方法
- summernote图片上传功能保存到服务器指定文件夹+php代码+java方法
- 图片上传至Web项目下指定文件夹,需刷新项目下文件夹才能显示(已解决)
- oracle的blob对象在客户端转化为java.sql.Blob,实现上传图片功能,同时将图片在客户端显示案例
- java struts中实现上传多张图片代码
- jsp中实现上传图片即时显示效果功能
- 图片上传时,本地显示预览功能
- mvc中上传图片到指定文件夹中
- 【学习笔记⑥】ssh中利用struts实现图片的上传功能
- 将byte[]的图片数据上传至服务器,并存放在服务器指定文件夹
- 帧动画显示drawable文件夹下的指定图片
- Java乔晓松-android中调用系统拍照功能并显示拍照的图片
- 用struts上传图片,中文命名的图片无法显示
- 图片上传时,本地显示预览功能
- 上传图片到任意指定地址并显示(其地址不在虚拟地址内)
- 用struts上传图片,中文命名的图片无法显示
- 图片上传时,本地显示预览功能