全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java Struts图片上传至指定文件夹并显示图片功能

继上一次利用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如何导出数据库中的所有数据表到指定文件夹  # Java如何通过File类方法删除指定文件夹中的全部文件  # Java上传文件到服务器指定文件夹实现过程图解  # Java自动读取指定文件夹下所有文件的方法  # Java实现从jar包中读取指定文件的方法  # Java如何向指定文件操作一段内容(增加  # 删除均可使用本方法)  # 上传  # 小编  # 放在  # 在此  # 给大家  # 跳转  # 装了  # 所述  # 给我留言  # 感谢大家  # 图片上传  # 传至  # 文件上传  # 疑问请  # 有任何  # 简化了  # values  # maven  # xml  # resources 


相关文章: 微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  如何通过商城免费建站系统源码自定义网站主题?  如何在Golang中使用replace替换模块_指定本地或远程路径  一键网站制作软件,义乌购一件代发流程?  如何选择高效便捷的WAP商城建站系统?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  家具网站制作软件,家具厂怎么跑业务?  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  建站为何优先选择香港服务器?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  北京的网站制作公司有哪些,哪个视频网站最好?  C++如何将C风格字符串(char*)转换为std::string?(代码示例)  代刷网站制作软件,别人代刷火车票靠谱吗?  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  宝塔建站无法访问?如何排查配置与端口问题?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  网页设计与网站制作内容,怎样注册网站?  建站168自助建站系统:快速模板定制与SEO优化指南  如何高效生成建站之星成品网站源码?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  Android滚轮选择时间控件使用详解  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  如何撰写建站申请书?关键要点有哪些?  如何将凡科建站内容保存为本地文件?  C#怎么创建控制台应用 C# Console App项目创建方法  简单实现Android文件上传  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  潮流网站制作头像软件下载,适合母子的网名有哪些?  微信h5制作网站有哪些,免费微信H5页面制作工具?  制作宣传网站的软件,小红书可以宣传网站吗?  如何在景安服务器上快速搭建个人网站?  如何批量查询域名的建站时间记录?  如何通过NAT技术实现内网高效建站?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  利用JavaScript实现拖拽改变元素大小  山东网站制作公司有哪些,山东大源集团官网?  详解jQuery停止动画——stop()方法的使用  如何快速登录WAP自助建站平台?  动图在线制作网站有哪些,滑动动图图集怎么做?  音乐网站服务器如何优化API响应速度?  郑州企业网站制作公司,郑州招聘网站有哪些?  个人网站制作流程图片大全,个人网站如何注销?  如何在宝塔面板创建新站点?  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  怎么将XML数据可视化 D3.js加载XML  香港服务器租用费用高吗?如何避免常见误区?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。