2.jsp 页面中file对应的写好属性的名称 如:选择文件:<input type="file" name="formFileTaoBao" id="formFileTaoBao"/>
3.注意form中的属性设置,
例如:<form id="fm" method="post" enctype="multipart/form-data" action="${pageContext.request.contextPath}/xxx/xxx.do" οnsubmit="return checkFileValue();"; >
4.然后在写Action类
public ActionForward formfileTaoBaoAction(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
XXXX xx=(XXXX)form; //转换DTO类对象。
FormFile formFile=xx.getFormFileTaoBao();
//这个获得路径,小记一下
String uploadPath=request.getSession().getServletContext().getRealPath("/").replace("\\", "/")+"/tempUpload/taobao";
//调用上传文件的方法
bpo.upFileTemp(formFile,uploadPath);
....Action 类中基本这样。然后在逻辑BPO类中上传文件。
5.在逻辑BPO类中上传文件
/**
* 文件上传功能
* @param formFile
* @param uploadPath
* @return
* @author XiongXing
* @date 20111029
*/
public boolean upFileTemp(FormFile formFile, String uploadPath) {
File fileTemp = new File(uploadPath);// 上传文件目录
if (!fileTemp.exists()) {
fileTemp.mkdirs();
}
// 上传文件路径加文件名。
String fileNamePath = uploadPath + "/" + formFile.getFileName();
try {
InputStream is = formFile.getInputStream();
OutputStream os = new FileOutputStream(fileNamePath);
int readSize = 0;
byte buffer[] = new byte[1024];
while ((readSize = is.read(buffer, 0, 1024)) != -1) {
os.write(buffer, 0, readSize);
}
return true;
} catch (Exception e) {
System.out.println("-----上传--读写文件异常-----");
e.printStackTrace();
return false;
}
}