Java与WebUploader相结合实现文件上传功能(实例代码)
之前自己写小项目的时候也碰到过文件上传的问题,没有找到很好的解决方案。虽然之前网找各种解决方案的时候也看到过WebUploader,但没有进一步深究。这次稍微深入了解了些,这里也做个小结。
简单的文件和普通数据上传并保存
jsp页面:
<%@pagelanguage="java"contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>Inserttitlehere 文件:
信息:
servlet:
packagecom.yihengliu.web.action;
importjava.io.File;
importjava.io.IOException;
importjava.io.InputStream;
importjava.util.List;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importorg.apache.commons.fileupload.FileItem;
importorg.apache.commons.fileupload.disk.DiskFileItemFactory;
importorg.apache.commons.fileupload.servlet.ServletFileUpload;
importorg.apache.commons.io.FileUtils;
/**
*Servletusertoacceptfileupload
*/
publicclassFileUploadServletextendsHttpServlet{
privatestaticfinallongserialVersionUID=1L;
privateStringserverPath="e:/";
protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.getWriter().append("Servedat:").append(request.getContextPath());
System.out.println("进入后台...");
//1.创建DiskFileItemFactory对象,配置缓存用
DiskFileItemFactorydiskFileItemFactory=newDiskFileItemFactory();
//2.创建ServletFileUpload对象
ServletFileUploadservletFileUpload=newServletFileUpload(diskFileItemFactory);
//3.设置文件名称编码
servletFileUpload.setHeaderEncoding("utf-8");
//4.开始解析文件
try{
Listitems=servletFileUpload.parseRequest(request);
for(FileItemfileItem:items){
if(fileItem.isFormField()){//>>普通数据
Stringinfo=fileItem.getString("utf-8");
System.out.println("info:"+info);
}else{//>>文件
//1.获取文件名称
Stringname=fileItem.getName();
//2.获取文件的实际内容
InputStreamis=fileItem.getInputStream();
//3.保存文件
FileUtils.copyInputStreamToFile(is,newFile(serverPath+"/"+name));
}
}
}catch(Exceptione){
e.printStackTrace();
}
}
protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doGet(request,response);
}
}
使用WebUploader组件上传
分片、并发,预览、压缩,多途径添加文件夹(文件多选,拖拽等),妙传
页面样式使用
使用webuploader上传 文件上传