下面是我的源码部分,谢谢大家阿:
package com.chinaclick.yummy.email.action;import java.io.File;
import java.util.Iterator;
import java.util.List;import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
/**
* @author yummy
*
*/
public class FileUploadAction extends Action {
public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response )
{ ActionForward forward=null;
try
{
System.out.println("start");
ServletContext context = request.getSession().getServletContext() ;
String realPath = context.getRealPath("/");
String saveDir = realPath + "fileupload\\upload\\";
DiskFileUpload upload=new DiskFileUpload();
upload.setSizeMax( 100*1024*1024 );//设置文件的最大值
upload.setHeaderEncoding("gbk");//字符编码
File dir = new File(saveDir);
if (!dir.exists())
dir.mkdirs();
List uploadlist=upload.parseRequest(request);
// System.out.println("list is "+uploadlist);
Iterator iter=uploadlist.iterator();
while(iter.hasNext())
{
FileItem item=(FileItem)iter.next();
if(!item.isFormField())
{
String filename=item.getName();
System.out.println("filename"+filename);
//filename=FileNameUtils.getName(filename);
if(!filename.equals(""))
{
System.out.println("start"+filename);
//String savepath="D:\\temp\\"+filename;
String savepath = saveDir+filename;
System.out.println("savepath is "+savepath);
File saveFilepath=new File(savepath);
item.write(saveFilepath);
forward=mapping.findForward("success");
}else
forward=mapping.findForward("error");
}
}
}catch(Exception ex)
{
ex.printStackTrace();
System.out.println("程序发生错误,抛出异常为 "+ex.getMessage());
}
return forward;
}
}如果能实现,会有什么样的漏洞,或者会产生什么结果,我本机的开发工具能实现文件上传,但是能不能放在外网上去,实现大文件上传,一般大文件上传都是用的插件还有其他什么形式的呢?
有没有源码参考下呢,插件的,或者是ftp嵌入式的javaweb的源码,能实现上传的源码,谢谢阿!
msn:[email protected]
163:[email protected]
package com.chinaclick.yummy.email.action;import java.io.File;
import java.util.Iterator;
import java.util.List;import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
/**
* @author yummy
*
*/
public class FileUploadAction extends Action {
public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response )
{ ActionForward forward=null;
try
{
System.out.println("start");
ServletContext context = request.getSession().getServletContext() ;
String realPath = context.getRealPath("/");
String saveDir = realPath + "fileupload\\upload\\";
DiskFileUpload upload=new DiskFileUpload();
upload.setSizeMax( 100*1024*1024 );//设置文件的最大值
upload.setHeaderEncoding("gbk");//字符编码
File dir = new File(saveDir);
if (!dir.exists())
dir.mkdirs();
List uploadlist=upload.parseRequest(request);
// System.out.println("list is "+uploadlist);
Iterator iter=uploadlist.iterator();
while(iter.hasNext())
{
FileItem item=(FileItem)iter.next();
if(!item.isFormField())
{
String filename=item.getName();
System.out.println("filename"+filename);
//filename=FileNameUtils.getName(filename);
if(!filename.equals(""))
{
System.out.println("start"+filename);
//String savepath="D:\\temp\\"+filename;
String savepath = saveDir+filename;
System.out.println("savepath is "+savepath);
File saveFilepath=new File(savepath);
item.write(saveFilepath);
forward=mapping.findForward("success");
}else
forward=mapping.findForward("error");
}
}
}catch(Exception ex)
{
ex.printStackTrace();
System.out.println("程序发生错误,抛出异常为 "+ex.getMessage());
}
return forward;
}
}如果能实现,会有什么样的漏洞,或者会产生什么结果,我本机的开发工具能实现文件上传,但是能不能放在外网上去,实现大文件上传,一般大文件上传都是用的插件还有其他什么形式的呢?
有没有源码参考下呢,插件的,或者是ftp嵌入式的javaweb的源码,能实现上传的源码,谢谢阿!
msn:[email protected]
163:[email protected]
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货