>  기사  >  Java  >  지정된 폴더에 Struts 그림을 업로드하고 Java로 그림을 표시하는 예

지정된 폴더에 Struts 그림을 업로드하고 Java로 그림을 표시하는 예

黄舟
黄舟원래의
2017-08-10 13:35:591048검색

이 글에서는 지정된 폴더에 이미지를 업로드하고 이미지를 표시하는 Java Struts의 기능을 주로 소개합니다. 필요한 친구는 이를 참고할 수 있습니다.

이미지 업로드를 위해 마지막으로 사용한 Servlet에 이어 이번에는 MVC 기반 Struts 프레임워크입니다. 서블릿 및 단순화된 JSP 페이지 점프를 캡슐화하는 데 사용됩니다.

JSP 업로드 페이지

업로드 시 양식에 enctype="multipart/form-data"를 추가해야 합니다. 이는 제출된 데이터가 바이너리enctype="multipart/form-data",表示提交的数据时二进制的

并且必须是method="post"

이고 여야 함을 나타냅니다. 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 프로젝트는 리소스에 배치됨)


<?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";
  }
}

서버의 가상 경로를 구성하세요.

위 내용은 지정된 폴더에 Struts 그림을 업로드하고 Java로 그림을 표시하는 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.