文件流在action方法里怎么获取,求大神指点,快不行了,

HttpServletRequest request = ServletActionContext.getRequest();
// HttpServletResponse response = ServletActionContext.getResponse();
String savePath = ServletActionContext.getServletContext().getRealPath("/photo/");
System.out.println(savePath+"=========");
File tmpFile = getAndFile();
if(tmpFile==null){
StaticHelper.backJson("{\"success\":false,\"msg\":\"参数为空!\"}");
}
if (!tmpFile.exists()) {
tmpFile.mkdir();
}
try {
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(1024*100);
//设置上传时生成的临时文件的保存目录
factory.setRepository(tmpFile);
ServletFileUpload up = new ServletFileUpload(factory);

up.setSizeMax(1024*1024*20);
up.setFileSizeMax(1024*1024);
List list = up.parseRequest(request);
for(FileItem item:list){
if(item.isFormField()){
String name = item.getFieldName();
String value = item.getString("UTF-8");
System.out.println(name+"========"+value);
}else{
String filename = item.getName();
if(filename==null || filename.trim().equals("")){
continue;
}
//处理获取到的上传文件的文件名的路径部分,只保留文件名部分
filename = filename.substring(filename.lastIndexOf("\")+1);
System.out.println(filename+"======1");
InputStream in = item.getInputStream();
System.out.println(filename+"==========2"+savePath);
FileOutputStream out = new FileOutputStream(savePath+"\"+filename);
//缓冲区
byte buffer[] = new byte[1024];
int len = 0;
while((len=in.read(buffer))>0){
out.write(buffer, 0, len);
}
in.close();
out.close();
}
}

} catch (Exception e) {
e.printStackTrace();
}

    我昨天写了一个是获取字符流的,前边的getAdndfile是声明全局getset方法,

参考:http://blog.csdn.net/linwei_1029/article/details/6920438