package com.zte.matermanage.action;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.MappingDispatchAction;
import org.apache.struts.upload.FormFile;
import com.zte.matermanage.common.Constant;
import com.zte.matermanage.form.UploadForm;
/**
*
* @author xiaoyong
*
*/
public class UploadAction extends MappingDispatchAction
{
/**
* 用于记录错误日志
*/
private Logger log = Logger.getLogger(UploadAction.class);
public ActionForward execUpload(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
{
UploadForm upload = (UploadForm)form ;
//上传
FormFile file = upload.getFile();
String fileName = Constant.FILE_PATH + file.getFileName();
InputStream streamIn = null; //输入输出流
OutputStream streamOut = null;
try {
File f = new File(Constant.FILE_PATH);
if(!f.exists())
{
f.mkdir();
}
streamIn = file.getInputStream();
streamOut = new FileOutputStream(fileName);
int bytesRead = 0;
byte[] buffer = new byte[2048];
while ( (bytesRead = streamIn.read(buffer, 0, 2048)) != -1)
{
streamOut.write(buffer, 0, bytesRead);
}
streamOut.close();
streamIn.close();
request.setAttribute("uploadResult", "上传成功");
}
catch (FileNotFoundException e)
{
log.error(e) ;
request.setAttribute("uploadResult", "上传失败");
return mapping.findForward("uploadResult");
}
catch (IOException e)
{
log.error(e) ;
request.setAttribute("uploadResult", "上传失败");
return mapping.findForward("uploadResult");
}
return mapping.findForward("uploadResult");
}
}