struts2文件上传(服务器端)

package com.chinasoft.action;


import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;




import org.apache.struts2.ServletActionContext;


import com.opensymphony.xwork2.ActionSupport;


public class SaveFile extends ActionSupport {


/**

*/
private static final long serialVersionUID = -4303075894481781406L;
private static final int BUFFER_SIZE = 16 * 1024;
private File saveFile;
private String saveFileFileName;
private String saveFileContentType;


public File getSaveFile() {
return saveFile;
}


public void setSaveFile(File saveFile) {
this.saveFile = saveFile;
}


public String getSaveFileFileName() {
return saveFileFileName;
}


public void setSaveFileFileName(String saveFileFileName) {
this.saveFileFileName = saveFileFileName;
}


public String getSaveFileContentType() {
return saveFileContentType;
}


public void setSaveFileContentType(String saveFileContentType) {
this.saveFileContentType = saveFileContentType;
}


/**
* 复制文件
* @param src
* @param dsc
*/
private static void copy(File src,File dsc){
InputStream in=null;
OutputStream out=null;
try {
in=new BufferedInputStream(new FileInputStream(src),BUFFER_SIZE);
out=new BufferedOutputStream(new FileOutputStream(dsc),BUFFER_SIZE);
byte[] buffer=new byte[BUFFER_SIZE];
while(in.read(buffer)>0){
out.write(buffer);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(in!=null){
in.close();
}
if(out!=null){
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}


/**
* 获取文件的扩展名
* @param fileName
* @return
*/
@SuppressWarnings("unused")
private static String returnExtension(String fileName){
int pos=fileName.lastIndexOf(".");
return fileName.substring(pos);
}

/**
* 文件上传
* @return
*/
public String saveFile(){
this.saveFileFileName=new Date().getTime()+returnExtension(this.saveFileFileName);
File filePath=new File(ServletActionContext.getServletContext().getRealPath("/uploadFiles"));//获取服务器路径,而不是本地路径
if(!filePath.exists()){
filePath.mkdir();
}
File uploadFile=new File(filePath+"/"+this.saveFileFileName);
copy(this.saveFile, uploadFile);
return "success";
}

public static void main(String[] args) {
String string="abc.jps";
System.out.println(returnExtension(string));
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值