自定义路径文件上传

这篇文章是接上篇文章的

没看过上篇文章的请去看看

我在这边就直接贴出action代码了


/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.hcwy.struts.action;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.UUID;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.hcwy.struts.form.UploadForm;

/**
* MyEclipse Struts
* Creation date: 04-08-2008
*
* XDoclet definition:
* @struts.action path="/upload" name="uploadForm" input="/form/upload.jsp" scope="request" validate="true"
*/
public class UploadAction extends Action {
/*
* Generated Methods
*/

/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UploadForm uploadForm = (UploadForm) form;
String dir="C:\\upload\\"+UUID.randomUUID()+"."+(uploadForm.getPic().getFileName().split("\\.")[1]) ;
OutputStream out;
try {
out = new FileOutputStream(new File(dir));
byte b[]=uploadForm.getPic().getFileData();
out.write(b);
out.close();
File file=new File(dir);
ServletOutputStream os=response.getOutputStream();
FileInputStream fis= new FileInputStream(file);
byte buffer[] = new byte[8192];
int readed = 0;
while((readed = fis.read(buffer)) > 0) {
os.write(buffer, 0, readed);
}
if(os!=null) {
os.flush();
os.close();
}
if(fis!=null) {
fis.close();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}








// public ActionForward asd(ActionMapping mapping, ActionForm form,
// HttpServletRequest request, HttpServletResponse response) {
// UploadForm uploadForm = (UploadForm) form;
System.out.println(request.getRequestURI());
//
System.out.println("** "+uploadPath) ;
// System.out.println(request.getSession().getServletContext().getRealPath(""));
// try {
// if(uploadForm.getPic().getFileName()==null||uploadForm.getPic().getFileName().equals("")){
request.setAttribute("dir", "dir");
// }else{
// String uploadPath = this.getServlet().getServletContext().getRealPath("/");
// String dir="\\upload\\"+UUID.randomUUID()+"."+(uploadForm.getPic().getFileName().split("\\.")[1]) ;
// String dir1=uploadPath+dir;
// System.out.println(dir1);
// OutputStream out=new FileOutputStream(new File(dir1));
// byte b[]=uploadForm.getPic().getFileData();
// out.write(b);
// out.close();
// request.setAttribute("dir", dir);
//
// }
//
//
// } catch (FileNotFoundException e) {
// e.printStackTrace();
// } catch (IOException e) {
// e.printStackTrace();
// }
// return mapping.findForward("ok");
// }
//











}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值