今天就写一个知识点吧-----图片的复制
一.通过表单来复制图片
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>
一会还要学英语,时间快到了。-----争取明天把今天少写的知识点补回来。