用FileUpload实现文件上传

系统 1454 0

用apache的一个开源项目fileupload可以轻松的实现文件的上传,目前的最新版本是commons-fileupload-1.2,可以到apache的网站下载

import java.io.File;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

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.commons.fileupload. * ;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class UploadFile extends MappingDispatchAction... ... {
private static final int FILE_SIZE = 4194304 ;
public ActionForwardupload(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)...
... {

try ... ... {

DiskFileItemFactoryfc
= new DiskFileItemFactory();
// 设置文件的最大限度,如果超出这个限度,则将文件写入磁盘
fc.setSizeThreshold( 4000 );
// 文件超过最大限度时,写入磁盘的临时路径
fc.setRepository( new File( " E: mp " ));

ServletFileUploadfu
= new ServletFileUpload(fc);
// 设置最大文件尺寸,单位为字节,这里是4MB
fu.setSizeMax(FILE_SIZE);

// 得到所有的文件:
ListfileItems = fu.parseRequest(request);
Iteratori
= fileItems.iterator();
// 依次处理每一个文件:
while (i.hasNext())... ... {
FileItemfi
= (FileItem)i.next();
// 获得文件名,这个文件名包括路径:
StringfileName = fi.getName();
if (fi.getSize() > FILE_SIZE)
throw new Exception( " Fileistoolarge! " );
fileName
= fileName.substring(fileName.lastIndexOf( " ")+1,fileName.length());

// 写入文件
fi.write( new File( " e: mps"+fileName));

}



}
catch (Exceptione)... ... {
// TODOAuto-generatedcatchblock
e.printStackTrace();
return mapping.findForward( " uploadFail " );
}


return mapping.findForward( " success " );
}

}

页面代码:
<% ...@pagepageEncoding = " utf-8 " %>

< html >
< body >
< formaction = " upload.do " method = " post " enctype = " multipart/form-data " >
< center >
选择文件路径:
< inputtype = filename = " filename " />< br >
< inputtype = submitvalue = " 上传 " />
</ center >

</ form >
</ body >
</ html >

用FileUpload实现文件上传


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论