培训第29天----Struts2框架初识(3)

            今天就写一个知识点吧-----图片的复制

一.通过表单来复制图片

        1.前台表单提交所要复制的文件 

<%@ 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">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>上传文件</title>
</head>
<body>
     <!-- 利用form表单上传文件 -->
     <form action="fileAction" method="post" enctype="multipart/form-data">
     	<table>
     		<tr><input type="file" name="upFile"/></tr>
     		<tr><input type="submit" value="上传"/>
     	</table>
     </form>
</body>
</html>

         2.利用Action来做复制图片的操作

package com.java.Controller;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class FileAction extends ActionSupport{
	   //利用属性驱动获得传过来的值
	   private File upFile;
	   //代理之前的文件名称
	   private String upFileFileName;
	   
	   //set方法名 一定要与前台的name名称要相对应
	   public void setUpFile(File upFile) {
		this.upFile = upFile;
	}
	   
	   public void setUpFileFileName(String upFileFileName) {
		this.upFileFileName = upFileFileName;
	}


	@Override
        //图片复制
       public String execute() throws IOException {
		  //得到绝对路径
		  String jdlj=ServletActionContext.getServletContext().getRealPath("upFile");
		  System.out.println();
    	  //用流方式读取表单发送过来的文件
		  InputStream inputStream=new FileInputStream(upFile);
		  //定义要拷贝文件的目的地,要文件的后缀名
		  File url=new File(jdlj+"\\"+upFileFileName);
		  OutputStream outputStream=new FileOutputStream(url);
		  int read;
		  while((read = inputStream.read())!=-1) {
			  outputStream.write(read);
		  }
		  inputStream.close();
		  outputStream.close();
		  return NONE;
       }
}

       3.struts2必不可少的struts.xml

<?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.0.dtd">

<struts>
	<package name="com.java.controller" namespace="/" extends="struts-default">
		<action name="fileAction" class="com.java.Controller.FileAction">
			<result name = "success"></result>
		</action>
	</package>
</struts>

             一会还要学英语,时间快到了。-----争取明天把今天少写的知识点补回来。

猜你喜欢

转载自blog.csdn.net/qq_41160264/article/details/81636675
今日推荐