java struts2 文件上传

15 篇文章 0 订阅
13 篇文章 0 订阅

action代码:

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.ServletContext;

import org.apache.struts2.ServletActionContext;
import org.aspectj.util.FileUtil;
import org.hualin.manager.HlfjxManager;
import org.hualin.model.Hlfjx;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import com.mysql.jdbc.Field;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

@Component("hlfjxAction")
@Scope("prototype")
public class hlfjxAction extends ActionSupport{

	private HlfjxManager hlfjxManager;
	
	private int id;
	private int qkbh;
	
	private File logoPic;  //单文件
	private String logoPicContentType;  //单文件类型
	private String logoPicFileName;  //单文件文件名
	
	private File[] upload;  //多文件组
	private String[] uploadFileName;  //多文件名组
	private String[] uploadContentType;  //多文件类型组
	
	//add Hlfjx
	public String addHlfjx() throws Exception{
		System.out.println("logopic//"+logoPicFileName);
		
		for(int i=0;i<upload.length;i++){
			System.out.println(uploadFileName[i]);
		}
		ServletContext servletContext = ServletActionContext.getServletContext(); 
		String realpath = servletContext.getRealPath("/upload").trim();  //获取服务器上传路径
		System.out.println(realpath);
		//add logoPic   单文件上传
		//String logoPicPath = realpath+"/"+logoPicFileName;
		if(logoPic!=null && !logoPicFileName.equals("")){
			File target = new File(realpath,logoPicFileName);  //在服务器建立一个备份文件
			FileUtil.copyFile(logoPic, target);  //用这个方法把上传的文件copy为那个备份文件
		}
		//add contentPic  多文件上传和单文件原理相同,就是遍历文件组,进行上传
		StringBuffer buf = new StringBuffer();
		if(upload!=null){
			for(int i=0;i<upload.length;i++){
				System.out.println("----------------------");
				File tar = new File(realpath,uploadFileName[i]);
				buf.append(uploadFileName[i]).append("|");
				FileUtil.copyFile(upload[i], tar);
			}
		}
		String images = buf.deleteCharAt(buf.lastIndexOf("|")).toString();
		System.out.println(images);
		Hlfjx hlfjx = new Hlfjx();
		hlfjx.setQkbh(qkbh);
		hlfjx.setLogopic(logoPicFileName);
		hlfjx.setImages(images);
		hlfjxManager.addHlfjx(hlfjx);
		return "add_success";
	}
		
	@Resource
	public void setHlfjxManager(HlfjxManager hlfjxManager) {
		this.hlfjxManager = hlfjxManager;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public int getQkbh() {
		return qkbh;
	}

	public void setQkbh(int qkbh) {
		this.qkbh = qkbh;
	}

	public File getLogoPic() {
		return logoPic;
	}

	public void setLogoPic(File logoPic) {
		this.logoPic = logoPic;
	}

	public String getLogoPicContentType() {
		return logoPicContentType;
	}

	public void setLogoPicContentType(String logoPicContentType) {
		this.logoPicContentType = logoPicContentType;
	}

	public String getLogoPicFileName() {
		return logoPicFileName;
	}

	public void setLogoPicFileName(String logoPicFileName) {
		this.logoPicFileName = logoPicFileName;
	}

	public File[] getUpload() {
		return upload;
	}

	public void setUpload(File[] upload) {
		this.upload = upload;
	}

	public String[] getUploadFileName() {
		return uploadFileName;
	}

	public void setUploadFileName(String[] uploadFileName) {
		this.uploadFileName = uploadFileName;
	}

	public String[] getUploadContentType() {
		return uploadContentType;
	}

	public void setUploadContentType(String[] uploadContentType) {
		this.uploadContentType = uploadContentType;
	}
	
	
	
}

jsp页面:

<%@ page language="java" contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!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">
		<link href="style/oa.css" rel="stylesheet" type="text/css">
		<script type="text/javascript" src="js/jquery-1.4.2.js"></script>
		<script type="text/javascript" src="js/main.js"></script>
		<title>添加期刊</title>
		<script type="text/javascript">
		function more(){
		
			//alert("s");
			var input = document.createElement("input");
			input.type = "file";
			input.name = "upload";
			
			var fileSpan = document.getElementById("div_img");
			fileSpan.appendChild(input);
		
		}
		
		function sub(){
		alert("x");
			document.getElementById("form1").submit();
			alert("s");
		}
	
		</script>
	</head>
	<body>
		<center>
			<form id="form1" action="hlfjx!addHlfjx.action" method="post"
				enctype="multipart/form-data">
				<TABLE class="tableEdit" border="0" cellspacing="1" cellpadding="0"
					style="width: 480px;">
					<TBODY>
						<TR>
							<!-- 这里是添加、编辑界面的标题 -->
							<td align="center" class="tdEditTitle">
								添加期刊图片
							</TD>
						</TR>
						<TR>
							<td>
								<!-- 主输入域开始 -->
								<table class="tableEdit" style="width: 480px;" cellspacing="0"
									border="0" cellpadding="0">
									<tr>
										<td class="tdEditLabel">
											期刊编号:
										</td>
										<td class="tdEditContent" align="left">
											<input id="qkbh" name="qkbh" type="text" />
										</td>
									</tr>

									<tr>
										<td class="tdEditLabel">
											封面图片:
										</td>
										<td class="tdEditContent" align="left">
											<input type="file" name="logoPic" id="logoPic" size="40">
										</td>
									</tr>
									<tr>
										<td class="tdEditLabel">
											内容图片:
										</td>
										<td class="tdEditContent" align="left">
											
												<input type="file" name="upload" id="upload">
												<div id="div_img"></div>
												<a id="aa"  href="javascript:void()" οnclick="more()">
													<img src="/webmysql/images/addpic.gif" border=0 />
												</a>

										</td>

									</tr>
								</table>

								<!-- 主输入域结束 -->
							</td>
						</TR>
					</TBODY>
				</TABLE>
	
	
			<TABLE>
				<TR align="center">
					<TD colspan="3" bgcolor="#EFF3F7">
						<input type="submit" name="saveButton" class="MyButton"
							value="添加信息" id="submit"  >
						<input type="button" class="MyButton" value="关闭窗口"
							οnclick="window.close()">
					</TD>
				</TR>
			</TABLE>
			</form>
			
		</center>
	</body>
</html>



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xq30397022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值